@sap/ux-specification 1.139.4 → 1.139.6
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/CHANGELOG.md +66 -1
- package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
- package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
- package/dist/documentation/v2/v2-ListReport.html +2 -2
- package/dist/documentation/v2/v2-ListReportNew.html +2 -2
- package/dist/documentation/v2/v2-ObjectPage.html +2 -2
- package/dist/documentation/v2/v2-OverviewPage.html +2 -2
- package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
- package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
- package/dist/documentation/v4/v4-FreestylePage.html +2 -2
- package/dist/documentation/v4/v4-ListReport.html +2 -2
- package/dist/documentation/v4/v4-ObjectPage.html +2 -2
- package/dist/index-min.js +251 -254
- package/dist/index-min.js.map +4 -4
- package/dist/schemas/v2/ApplicationV2.json +46 -12
- package/dist/schemas/v2/ListReportNewConfig.json +136 -0
- package/dist/schemas/v2/ObjectPageConfig.json +11 -5
- package/dist/schemas/v4/ApplicationV4.json +61 -28
- package/dist/schemas/v4/BuildingBlocksConfig.json +163 -640
- package/dist/schemas/v4/ListReportConfig.json +248 -9
- package/dist/schemas/v4/ObjectPageConfig.json +269 -3
- package/dist/specification/package.json +16 -16
- package/dist/specification/scripts/macros/schema.d.ts +7 -0
- package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
- package/dist/specification/scripts/macros/schema.js +61 -14
- package/dist/specification/scripts/macros/schema.js.map +1 -1
- package/dist/specification/scripts/macros/types.d.ts +1 -0
- package/dist/specification/scripts/macros/types.d.ts.map +1 -1
- package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
- package/dist/specification/scripts/schema/to-json-schema.js +64 -9
- package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
- package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.d.ts.map +1 -1
- package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.js +1 -0
- package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.js.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorators.d.ts +65 -4
- package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorators.js +138 -8
- package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
- package/dist/specification/src/sync/common/distTagEvaluator.d.ts +10 -3
- package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -1
- package/dist/specification/src/sync/common/distTagEvaluator.js +14 -4
- package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -1
- package/dist/specification/src/sync/common/dist_tag.json +9 -5
- package/dist/specification/src/sync/common/generate/objectPage.d.ts +10 -1
- package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/common/generate/objectPage.js +63 -7
- package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/common/generate/utils.d.ts +11 -4
- package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/common/generate/utils.js +32 -20
- package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
- package/dist/specification/src/sync/common/i18n.json +9 -2
- package/dist/specification/src/sync/common/rules.d.ts +1 -0
- package/dist/specification/src/sync/common/rules.d.ts.map +1 -1
- package/dist/specification/src/sync/common/rules.js +38 -13
- package/dist/specification/src/sync/common/rules.js.map +1 -1
- package/dist/specification/src/sync/common/utils.d.ts +64 -0
- package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/common/utils.js +149 -15
- package/dist/specification/src/sync/common/utils.js.map +1 -1
- package/dist/specification/src/sync/v2/application.d.ts +1 -0
- package/dist/specification/src/sync/v2/application.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/application.js +18 -0
- package/dist/specification/src/sync/v2/application.js.map +1 -1
- package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPage.js +15 -4
- package/dist/specification/src/sync/v2/export/exportPage.js.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js +6 -12
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
- package/dist/specification/src/sync/v2/export/factory.d.ts +26 -0
- package/dist/specification/src/sync/v2/export/factory.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/factory.js +3 -3
- package/dist/specification/src/sync/v2/export/factory.js.map +1 -1
- package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts +1 -0
- package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/pages/ObjectPage.js +11 -0
- package/dist/specification/src/sync/v2/export/pages/ObjectPage.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.js +46 -1
- package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts +1 -2
- package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.js +63 -13
- package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +4 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts +8 -0
- package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/stableIdUtils.js +1 -0
- package/dist/specification/src/sync/v2/generate/stableIdUtils.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js +3 -2
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts +78 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js +454 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.d.ts +22 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js +124 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts +55 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js +152 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts +3 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js +3 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts +4 -2
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js +61 -23
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/overviewPage.js +32 -13
- package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -1
- package/dist/specification/src/sync/v2/utils.d.ts +23 -0
- package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/utils.js +67 -0
- package/dist/specification/src/sync/v2/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/application.d.ts +4 -0
- package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/application.js +51 -1
- package/dist/specification/src/sync/v4/application.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Header.d.ts +3 -2
- package/dist/specification/src/sync/v4/export/controls/Header.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Header.js +14 -2
- package/dist/specification/src/sync/v4/export/controls/Header.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +3 -1
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +17 -2
- package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts +3 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.js +20 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts +6 -2
- package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js +27 -4
- package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts +1 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js +10 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts +7 -2
- package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js +37 -4
- package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.d.ts +1 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.js +10 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts +2 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js +10 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +4 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.js +30 -0
- package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +7 -2
- package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js +36 -3
- package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Table.d.ts +3 -0
- package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Table.js +40 -23
- package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts +7 -0
- package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/TableColumn.js +60 -0
- package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +14 -4
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +75 -9
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/fpmCustomPage.js +13 -3
- package/dist/specification/src/sync/v4/export/fpmCustomPage.js.map +1 -1
- package/dist/specification/src/sync/v4/export/pages/ListReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/pages/ListReport.js +2 -1
- package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +107 -0
- package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/generate/ListReportUtils.js +392 -0
- package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +1 -0
- package/dist/specification/src/sync/v4/generate/listReport.d.ts +107 -2
- package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/listReport.js +176 -91
- package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.d.ts +1 -0
- package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.js +64 -8
- package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts +141 -0
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/App.js +208 -0
- package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +193 -0
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +384 -0
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +172 -0
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +410 -0
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +70 -0
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/Page.js +73 -0
- package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.d.ts +9 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.js +43 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -0
- package/dist/specification/src/sync/v4/utils/utils.d.ts +16 -4
- package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.js +100 -26
- package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
- package/dist/types/src/common/types.d.ts +114 -3
- package/dist/types/src/common/types.d.ts.map +1 -1
- package/dist/types/src/common/types.js +8 -0
- package/dist/types/src/common/types.js.map +1 -1
- package/dist/types/src/common/webapp/manifest/Manifest.d.ts +1 -1
- package/dist/types/src/common/webapp/manifest/Manifest.d.ts.map +1 -1
- package/dist/types/src/v2/application.d.ts +18 -0
- package/dist/types/src/v2/application.d.ts.map +1 -1
- package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts.map +1 -1
- package/dist/types/src/v2/controls/ObjectPageTable.d.ts +4 -4
- package/dist/types/src/v2/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/types/src/v2/controls/Table.d.ts.map +1 -1
- package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts +10 -1
- package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts.map +1 -1
- package/dist/types/src/v4/application.d.ts +13 -6
- package/dist/types/src/v4/application.d.ts.map +1 -1
- package/dist/types/src/v4/controls/Action.d.ts +16 -0
- package/dist/types/src/v4/controls/Action.d.ts.map +1 -0
- package/dist/types/src/v4/controls/Action.js +11 -0
- package/dist/types/src/v4/controls/Action.js.map +1 -0
- package/dist/types/src/v4/controls/CustomAction.d.ts +2 -1
- package/dist/types/src/v4/controls/CustomAction.d.ts.map +1 -1
- package/dist/types/src/v4/controls/CustomAction.js.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageFooter.d.ts +2 -1
- package/dist/types/src/v4/controls/ObjectPageFooter.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageForm.d.ts +6 -3
- package/dist/types/src/v4/controls/ObjectPageForm.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +6 -3
- package/dist/types/src/v4/controls/ObjectPageHeader.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageSection.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageTable.d.ts +7 -0
- package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageTable.js.map +1 -1
- package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts +10 -7
- package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts.map +1 -1
- package/dist/types/src/v4/controls/Table.d.ts +14 -1
- package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
- package/dist/types/src/v4/controls/Table.js.map +1 -1
- package/dist/types/src/v4/controls/ToolBar.d.ts +32 -10
- package/dist/types/src/v4/controls/ToolBar.d.ts.map +1 -1
- package/dist/types/src/v4/controls/ToolBar.js.map +1 -1
- package/dist/types/src/v4/controls/index.d.ts +1 -0
- package/dist/types/src/v4/controls/index.d.ts.map +1 -1
- package/dist/types/src/v4/controls/index.js +1 -0
- package/dist/types/src/v4/controls/index.js.map +1 -1
- package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts +59 -0
- package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts.map +1 -1
- package/dist/types/src/v4/webapp/manifest/ManifestSettings.js.map +1 -1
- package/package.json +16 -16
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type LineItemDataForSchema } from '../utils/utils';
|
|
2
|
-
import { Visualization } from '@sap/ux-specification-types';
|
|
2
|
+
import { TemplateType, Visualization } from '@sap/ux-specification-types';
|
|
3
3
|
import type { ExtensionLogger, v4, GenerateAppSchemaParameters } from '@sap/ux-specification-types';
|
|
4
4
|
import type { AnnotationTerm, EntityType, ConvertedMetadata } from '@sap-ux/vocabularies-types';
|
|
5
5
|
import type { SelectionFields } from '@sap-ux/vocabularies-types/vocabularies/UI';
|
|
6
|
+
import { type ManifestPathParams } from '../../common';
|
|
6
7
|
import type { Definition } from 'typescript-json-schema';
|
|
8
|
+
import { Page } from '../sync-rules/Page';
|
|
7
9
|
export interface SchemaAdjustmentParameters {
|
|
8
|
-
generateParameters: GenerateAppSchemaParameters;
|
|
9
10
|
appSchema: Definition;
|
|
10
11
|
v4Page: v4.SapUiAppPageV4;
|
|
11
12
|
tableDefinitionId: string;
|
|
@@ -25,6 +26,32 @@ export interface SchemaAdjustmentParameters {
|
|
|
25
26
|
* @returns {Definition} - the updated selection fields definition
|
|
26
27
|
*/
|
|
27
28
|
export declare function addSelectionFields(entityType: EntityType, appSchema: Definition, selectionFieldsAnnotation: AnnotationTerm<SelectionFields>, selectionFieldsDefinition?: Definition, qualifier?: string): Definition;
|
|
29
|
+
/**
|
|
30
|
+
* Returns visual filters (if defined) from manifest page.
|
|
31
|
+
*
|
|
32
|
+
* @param v4Page - actual page in the manifest
|
|
33
|
+
* @returns - The visual filters object if defined, otherwise undefined.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getVisualFilters(v4Page: v4.SapUiAppPageV4): {} | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Adds visual filters to the app schema, as properties of the FilterBar.
|
|
38
|
+
*
|
|
39
|
+
* @param {EntityType} entityType - the entity type as part of the AVT ConvertedMetadata
|
|
40
|
+
* @param {Definition} appSchema - the app specific schema that shall get enhanced
|
|
41
|
+
* @param visualFiltersManifest - the UI.SelectionFields under controlConfiguration
|
|
42
|
+
* @param selectionFields - The selection fields annotation to be processed
|
|
43
|
+
*/
|
|
44
|
+
export declare function addVisualFilters(entityType: EntityType, appSchema: Definition, visualFiltersManifest: any, selectionFields: AnnotationTerm<SelectionFields>): void;
|
|
45
|
+
/**
|
|
46
|
+
* Method updates schema for custom filter fields:
|
|
47
|
+
* 1. Enables creation of custom filter fields.
|
|
48
|
+
* 2. Populates custom filter fields from manifest to schema.
|
|
49
|
+
*
|
|
50
|
+
* @param appSchema - the app specific schema that shall get enhanced
|
|
51
|
+
* @param selectionFieldsDefinition - schema of selection fields which should contain custom filter fields
|
|
52
|
+
* @param v4Page - actual page in the manifest
|
|
53
|
+
*/
|
|
54
|
+
export declare function applyCustomFilterFields(appSchema: Definition, selectionFieldsDefinition: Definition, v4Page: v4.SapUiAppPageV4): void;
|
|
28
55
|
/**
|
|
29
56
|
* An annotationPath must be analyzed, to find the right target annotation and visualization.
|
|
30
57
|
*
|
|
@@ -45,6 +72,84 @@ export declare function analyzeViewAnnotation(annotationPath: string, uIAnnotati
|
|
|
45
72
|
namespace: string;
|
|
46
73
|
title: string;
|
|
47
74
|
};
|
|
75
|
+
/**
|
|
76
|
+
* Adds the ALP views to the app-specific schema.
|
|
77
|
+
*
|
|
78
|
+
* @param appSchema - app-specific JSON schema
|
|
79
|
+
* @param viewsPaths - views' paths' section in the manifest
|
|
80
|
+
* @param generateParameters - list of API input parameters
|
|
81
|
+
* @param templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
|
|
82
|
+
* @param v4Page - actual page in the manifest
|
|
83
|
+
* @param tableDefinitionName - The name of the table definition in the schema
|
|
84
|
+
*/
|
|
85
|
+
export declare function addALPViews(appSchema: Definition, viewsPaths: Array<object>, generateParameters: GenerateAppSchemaParameters, templateAnnotation: string, v4Page: v4.SapUiAppPageV4, tableDefinitionName: string): void;
|
|
86
|
+
export type ViewsParameters = {
|
|
87
|
+
viewKey: string;
|
|
88
|
+
appSchema: Definition;
|
|
89
|
+
targetAnnotation: string;
|
|
90
|
+
navPropName: string;
|
|
91
|
+
targetEntityType: EntityType;
|
|
92
|
+
title: string;
|
|
93
|
+
entitySet?: string;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Adjusts the schema for a table by making necessary changes such as populating creation fields,
|
|
97
|
+
* adjusting creation field definitions, and adding enum mappings for mass edit functionalities.
|
|
98
|
+
*
|
|
99
|
+
* @param {SchemaAdjustmentParameters} schemaAdjustmentParameters - Object containing the parameters required for schema adjustments. Includes the generate parameters, application schema, table definition ID, and facet definition ID.
|
|
100
|
+
* @returns {void} This function does not return a value; it performs in-place adjustments to the schema provided through the input parameters.
|
|
101
|
+
*/
|
|
102
|
+
export declare function applyLRTableSchemaAdjustments(schemaAdjustmentParameters: SchemaAdjustmentParameters): void;
|
|
103
|
+
/**
|
|
104
|
+
* Adds the schema tags to a given view.
|
|
105
|
+
*
|
|
106
|
+
* @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
|
|
107
|
+
* @param viewKey - key property of the view
|
|
108
|
+
* @param namespace - target namespace for annotations
|
|
109
|
+
* @param view - the given view
|
|
110
|
+
*/
|
|
111
|
+
export declare function addTagsToView(viewsDefinition: Definition, viewKey: string, namespace: string, view: object): void;
|
|
112
|
+
/**
|
|
113
|
+
* Adds definition parts to a LR View (LineItem/Chart).
|
|
114
|
+
*
|
|
115
|
+
* @param visualization - visualization of the annotation
|
|
116
|
+
* @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
|
|
117
|
+
* @param commonInputParameters - list of input parameters as collected by the calling instance
|
|
118
|
+
* @param generateParameters - list of API input parameters
|
|
119
|
+
* @param generateParameters.serviceAVT - OData service AVT information
|
|
120
|
+
* @param generateParameters.entityType - entity type of the current page
|
|
121
|
+
* @param generateParameters.logger - extension logger
|
|
122
|
+
* @param page - the current page object
|
|
123
|
+
* @param uiAnnotations - UI annotations of the given entityType
|
|
124
|
+
* @param view - the given view
|
|
125
|
+
*/
|
|
126
|
+
export declare function addLRViewParts(visualization: string, viewsDefinition: Definition, commonInputParameters: ViewsParameters, { serviceAVT, entityType, logger }: Partial<GenerateAppSchemaParameters>, page: Page, uiAnnotations: object, view: object): void;
|
|
127
|
+
/**
|
|
128
|
+
* Checks for the default annotation path to use for LR table.
|
|
129
|
+
*
|
|
130
|
+
* @param v4Page - actual page in the manifest
|
|
131
|
+
* @param entityType - actual entity type (AVT information)
|
|
132
|
+
* @param templateType - The type of template being used (e.g., ListReportObjectPageV4 or AnalyticalListPageV4)
|
|
133
|
+
* @returns annotation term
|
|
134
|
+
*/
|
|
135
|
+
export declare function getDefaultAnnotationPath(v4Page: v4.SapUiAppPageV4, entityType: EntityType, templateType: TemplateType): string | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Adds header actions to schema (LR or ALP).
|
|
138
|
+
*
|
|
139
|
+
* @param appSchema - app-specific JSON schema
|
|
140
|
+
* @param v4Page - actual page in the manifest
|
|
141
|
+
* @param logger - Logger class for logging messages
|
|
142
|
+
*/
|
|
143
|
+
export declare function addHeaderActions(appSchema: Definition, v4Page: v4.SapUiAppPageV4, logger: ExtensionLogger): void;
|
|
144
|
+
/**
|
|
145
|
+
* Adds 'manifestPath' to each property in a definition based on metadata sync rules.
|
|
146
|
+
*
|
|
147
|
+
* @param appSchema - Full schema.
|
|
148
|
+
* @param definitionName - The name of the definition/class whose properties are being processed.
|
|
149
|
+
* @param definition - The definition object containing property schemas.
|
|
150
|
+
* @param pathParams - Additional context required to compute manifest paths.
|
|
151
|
+
*/
|
|
152
|
+
export declare function addManifestPathsToPropertiesLR(appSchema: Definition, definitionName: string | undefined, definition: Definition, pathParams: ManifestPathParams): void;
|
|
48
153
|
/**
|
|
49
154
|
* Generates an app specific schema for the FE V4 ListReport from the generic schema.
|
|
50
155
|
* Generic types are replaced by information from the app specific annotations.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listReport.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v4/generate/listReport.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"listReport.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v4/generate/listReport.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.addSelectionFields = addSelectionFields;
|
|
7
|
+
exports.getVisualFilters = getVisualFilters;
|
|
8
|
+
exports.addVisualFilters = addVisualFilters;
|
|
9
|
+
exports.applyCustomFilterFields = applyCustomFilterFields;
|
|
7
10
|
exports.analyzeViewAnnotation = analyzeViewAnnotation;
|
|
11
|
+
exports.addALPViews = addALPViews;
|
|
12
|
+
exports.applyLRTableSchemaAdjustments = applyLRTableSchemaAdjustments;
|
|
13
|
+
exports.addTagsToView = addTagsToView;
|
|
14
|
+
exports.addLRViewParts = addLRViewParts;
|
|
15
|
+
exports.getDefaultAnnotationPath = getDefaultAnnotationPath;
|
|
16
|
+
exports.addHeaderActions = addHeaderActions;
|
|
17
|
+
exports.addManifestPathsToPropertiesLR = addManifestPathsToPropertiesLR;
|
|
8
18
|
exports.generateListReportSchemaV4 = generateListReportSchemaV4;
|
|
9
19
|
const utils_1 = require("../utils/utils");
|
|
10
20
|
const utils_2 = require("../utils/utils");
|
|
@@ -12,6 +22,10 @@ const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
|
12
22
|
const i18next_1 = __importDefault(require("i18next"));
|
|
13
23
|
const extensionLogger_1 = require("../../../extensionLogger");
|
|
14
24
|
const common_1 = require("../../common");
|
|
25
|
+
const AppSchema_1 = require("../sync-rules/AppSchema");
|
|
26
|
+
const App_1 = require("../sync-rules/App");
|
|
27
|
+
const Page_1 = require("../sync-rules/Page");
|
|
28
|
+
const ListReportUtils_1 = require("./ListReportUtils");
|
|
15
29
|
const ROOT_PROPERTIES_ORDER = ['header', 'filterBar', 'chart', 'table'];
|
|
16
30
|
const UILINEITEM = '@UI.LineItem';
|
|
17
31
|
/**
|
|
@@ -406,7 +420,7 @@ function addALPChartView(appSchema, chartAnnotationPath, targetAnnotation, annot
|
|
|
406
420
|
}
|
|
407
421
|
else {
|
|
408
422
|
// Add message about unexisting annotation path
|
|
409
|
-
(0, common_1.addMessageToSchema)(chartView, i18next_1.default.t('UNEXISTING_ANNOTATION_PATH'));
|
|
423
|
+
(0, common_1.addMessageToSchema)(chartView, { text: i18next_1.default.t('UNEXISTING_ANNOTATION_PATH') });
|
|
410
424
|
}
|
|
411
425
|
}
|
|
412
426
|
chartView[ux_specification_types_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
|
|
@@ -484,7 +498,6 @@ function addALPViews(appSchema, viewsPaths, generateParameters, templateAnnotati
|
|
|
484
498
|
appSchema.definitions[ux_specification_types_1.DefinitionName.ALPTable][ux_specification_types_1.SchemaTag.annotationPath] = target;
|
|
485
499
|
}
|
|
486
500
|
const schemaAdjustmentParameters = {
|
|
487
|
-
generateParameters,
|
|
488
501
|
appSchema,
|
|
489
502
|
v4Page,
|
|
490
503
|
tableDefinitionId: ux_specification_types_1.DefinitionName.ALPTable,
|
|
@@ -502,6 +515,12 @@ function addALPViews(appSchema, viewsPaths, generateParameters, templateAnnotati
|
|
|
502
515
|
const schemaIdForToolbarActions = `${ux_specification_types_1.DefinitionName.Actions}<${(0, common_1.prepareRef)(ux_specification_types_1.DefinitionName.LineItems)}>`;
|
|
503
516
|
(0, utils_2.addCustomActionDefinition)(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForToolbarActions);
|
|
504
517
|
(0, utils_2.addEnumForActionAnchor)(appSchema, schemaIdForToolbarActions, ux_specification_types_1.DefinitionName.CustomActionPosition);
|
|
518
|
+
// Add "manifestPath" for table properties
|
|
519
|
+
addManifestPathsToPropertiesLR(appSchema, ux_specification_types_1.DefinitionName.ALPTable, tableDefinition, {
|
|
520
|
+
pageName: v4Page.id,
|
|
521
|
+
manifest: generateParameters.manifest,
|
|
522
|
+
targetAnnotation
|
|
523
|
+
});
|
|
505
524
|
}
|
|
506
525
|
/**
|
|
507
526
|
* Modifies the app schema, adds the right line chart settings.
|
|
@@ -583,10 +602,9 @@ function getLineItemRef(v4Page, entityType, viewKey, lineItemTerm, lineItemQuali
|
|
|
583
602
|
* @returns {void} This function does not return any value.
|
|
584
603
|
*/
|
|
585
604
|
function adjustCreationFieldsDefinition(schemaAdjustmentParameters) {
|
|
586
|
-
const { appSchema, tableDefinitionId, facetDefinitionId, v4Page,
|
|
605
|
+
const { entityType, appSchema, tableDefinitionId, facetDefinitionId, v4Page, viewKey } = schemaAdjustmentParameters;
|
|
587
606
|
// when the table view is created, the entity type may differ from the one used for the table
|
|
588
607
|
// schemaAdjustmentParameters contains the entity type used for the view
|
|
589
|
-
const entityType = schemaAdjustmentParameters.entityType ?? generateParameters.entityType;
|
|
590
608
|
const lineItemRef = getLineItemRef(v4Page, entityType, viewKey, entityType?.annotations?.UI?.LineItem?.term);
|
|
591
609
|
// set specific implementation for creation fields in the LR table
|
|
592
610
|
const creationModeDefinitionKey = (0, common_1.getFacetDefinitionKey)(ux_specification_types_1.DefinitionName.TableCreationModeLR, facetDefinitionId);
|
|
@@ -619,10 +637,9 @@ function adjustCreationFieldsDefinition(schemaAdjustmentParameters) {
|
|
|
619
637
|
* @returns {void} This function does not return any value.
|
|
620
638
|
*/
|
|
621
639
|
function adjustAnalyticalConfiguration(schemaAdjustmentParameters) {
|
|
622
|
-
const { appSchema, tableDefinitionId, facetDefinitionId, v4Page,
|
|
640
|
+
const { entityType, appSchema, tableDefinitionId, facetDefinitionId, v4Page, viewKey, dataForLineItem } = schemaAdjustmentParameters;
|
|
623
641
|
// when the table view is created, the entity type may differ from the one used for the table
|
|
624
642
|
// schemaAdjustmentParameters contains the entity type used for the view
|
|
625
|
-
const entityType = schemaAdjustmentParameters.entityType ?? generateParameters.entityType;
|
|
626
643
|
const lineItemRef = getLineItemRef(v4Page, entityType, viewKey, entityType?.annotations?.UI?.LineItem?.term, dataForLineItem.lineItemAnnotation?.qualifier);
|
|
627
644
|
// set specific implementation for analytical configuration in the LR table
|
|
628
645
|
const tableDefinition = appSchema.definitions[tableDefinitionId];
|
|
@@ -642,6 +659,33 @@ function adjustAnalyticalConfiguration(schemaAdjustmentParameters) {
|
|
|
642
659
|
// for the AnalyticalTable we set the analytical configuration property
|
|
643
660
|
common_1.manifestDrivenSchemaProcessor.apply(ux_specification_types_1.RuleName.LRAnalyticalConfigurationForNonAnalyticalTable, context);
|
|
644
661
|
}
|
|
662
|
+
/**
|
|
663
|
+
* Adjusts the schema definition related to the popin layout in the list report (LR) table.
|
|
664
|
+
* This function modifies the app schema to handle the popin layout and relevant settings for the table.
|
|
665
|
+
*
|
|
666
|
+
* @param {SchemaAdjustmentParameters} schemaAdjustmentParameters - An object containing parameters required for schema adjustments.
|
|
667
|
+
* It includes the application schema, table definition ID, facet definition ID, and the V4 page information.
|
|
668
|
+
* @returns {void} This function does not return any value.
|
|
669
|
+
*/
|
|
670
|
+
function adjustPopinLayout(schemaAdjustmentParameters) {
|
|
671
|
+
const { entityType, appSchema, tableDefinitionId, v4Page, viewKey, dataForLineItem } = schemaAdjustmentParameters;
|
|
672
|
+
// when the table view is created, the entity type may differ from the one used for the table
|
|
673
|
+
// schemaAdjustmentParameters contains the entity type used for the view
|
|
674
|
+
const lineItemRef = getLineItemRef(v4Page, entityType, viewKey, entityType?.annotations?.UI?.LineItem?.term, dataForLineItem.lineItemAnnotation?.qualifier);
|
|
675
|
+
// set specific implementation for popinLayout in the LR table
|
|
676
|
+
const tableDefinition = appSchema.definitions[tableDefinitionId];
|
|
677
|
+
const popinLayoutDefinition = tableDefinition.properties['popinLayout'];
|
|
678
|
+
const context = {
|
|
679
|
+
page: v4Page,
|
|
680
|
+
schema: popinLayoutDefinition,
|
|
681
|
+
parameters: {
|
|
682
|
+
lineItemRef,
|
|
683
|
+
tableDefinition
|
|
684
|
+
}
|
|
685
|
+
};
|
|
686
|
+
// for the ResponsiveTable (default table type) we allow to set the popin layout property
|
|
687
|
+
common_1.manifestDrivenSchemaProcessor.apply(ux_specification_types_1.RuleName.LRPopinLayoutForNonResponsiveTable, context);
|
|
688
|
+
}
|
|
645
689
|
/**
|
|
646
690
|
* Adjusts the schema for a table by making necessary changes such as populating creation fields,
|
|
647
691
|
* adjusting creation field definitions, and adding enum mappings for mass edit functionalities.
|
|
@@ -650,8 +694,7 @@ function adjustAnalyticalConfiguration(schemaAdjustmentParameters) {
|
|
|
650
694
|
* @returns {void} This function does not return a value; it performs in-place adjustments to the schema provided through the input parameters.
|
|
651
695
|
*/
|
|
652
696
|
function applyLRTableSchemaAdjustments(schemaAdjustmentParameters) {
|
|
653
|
-
const {
|
|
654
|
-
const { entityType } = generateParameters;
|
|
697
|
+
const { entityType, appSchema, tableDefinitionId, facetDefinitionId } = schemaAdjustmentParameters;
|
|
655
698
|
// in the future, all postgeneration adjustments for the LR Page should be done here
|
|
656
699
|
// populate the creation fields for the table with the data from the columns
|
|
657
700
|
(0, utils_1.initializeCreationModeSchema)(appSchema, facetDefinitionId, entityType, ux_specification_types_1.DefinitionName.TableCreationModeLR);
|
|
@@ -659,6 +702,7 @@ function applyLRTableSchemaAdjustments(schemaAdjustmentParameters) {
|
|
|
659
702
|
adjustCreationFieldsDefinition(schemaAdjustmentParameters);
|
|
660
703
|
// remove unnecessary properties from the analytical configuration aggregation according to the table type
|
|
661
704
|
adjustAnalyticalConfiguration(schemaAdjustmentParameters);
|
|
705
|
+
adjustPopinLayout(schemaAdjustmentParameters);
|
|
662
706
|
// add columns to a enum, in this case enableMassEdit -> visibleFields and ignoredFields
|
|
663
707
|
(0, utils_2.addEnumForEnableMassEdit)(appSchema, tableDefinitionId, facetDefinitionId, entityType);
|
|
664
708
|
}
|
|
@@ -670,10 +714,10 @@ function applyLRTableSchemaAdjustments(schemaAdjustmentParameters) {
|
|
|
670
714
|
* @param {string} visualization - The visualization format or mode for the line items, used to determine the associated annotations.
|
|
671
715
|
* @param {string} templateAnnotation - The template annotation to infer metadata for the line items.
|
|
672
716
|
* @param {GenerateAppSchemaParameters} generateParameters - Parameters essential for schema generation, including OData service metadata.
|
|
673
|
-
* @param {
|
|
717
|
+
* @param {Page} page - The page object representing the context in which the view is being generated.
|
|
674
718
|
* @returns {void} No return value.
|
|
675
719
|
*/
|
|
676
|
-
function addViewLineItems(inputParameters, viewsDefinition, visualization, templateAnnotation,
|
|
720
|
+
function addViewLineItems(inputParameters, viewsDefinition, visualization, templateAnnotation, { serviceAVT, entityType }, page) {
|
|
677
721
|
const tableId = `${ux_specification_types_1.DefinitionName.LRTableView}<${inputParameters.viewKey}>`;
|
|
678
722
|
const viewId = `${ux_specification_types_1.DefinitionName.LineItemsOfView}::${inputParameters.viewKey}`;
|
|
679
723
|
const lrTableView = (0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.LRTableView, inputParameters.viewKey, inputParameters.appSchema);
|
|
@@ -703,21 +747,26 @@ function addViewLineItems(inputParameters, viewsDefinition, visualization, templ
|
|
|
703
747
|
appSchema: inputParameters.appSchema,
|
|
704
748
|
lineItemAnnotation: inputParameters.targetEntityType?.annotations.UI[annotationTerm],
|
|
705
749
|
entityType: inputParameters.targetEntityType,
|
|
706
|
-
oDataServiceAVT:
|
|
750
|
+
oDataServiceAVT: serviceAVT,
|
|
707
751
|
lineItemId: viewId
|
|
708
752
|
};
|
|
709
753
|
(0, utils_2.addLineItemsTypeToSchema)(dataForLineItem, ux_specification_types_1.DefinitionName.ViewTableColumn, ux_specification_types_1.DefinitionName.ViewCustomColumn, ux_specification_types_1.DefinitionName.ViewCustomAction);
|
|
710
754
|
const schemaAdjustmentParameters = {
|
|
711
|
-
generateParameters,
|
|
712
755
|
appSchema: inputParameters.appSchema,
|
|
713
|
-
v4Page,
|
|
756
|
+
v4Page: page.getPage(),
|
|
714
757
|
tableDefinitionId: tableId,
|
|
715
758
|
facetDefinitionId: viewId,
|
|
716
759
|
viewKey: inputParameters.viewKey,
|
|
717
|
-
entityType: inputParameters.targetEntityType,
|
|
760
|
+
entityType: inputParameters.targetEntityType || entityType,
|
|
718
761
|
dataForLineItem
|
|
719
762
|
};
|
|
720
763
|
applyLRTableSchemaAdjustments(schemaAdjustmentParameters);
|
|
764
|
+
// Add "manifestPath" for table properties
|
|
765
|
+
addManifestPathsToPropertiesLR(inputParameters.appSchema, ux_specification_types_1.DefinitionName.LRTableView, lrTableView, {
|
|
766
|
+
pageName: page.getPage().id,
|
|
767
|
+
manifest: page.getApp().manifest,
|
|
768
|
+
targetAnnotation: inputParameters.targetAnnotation
|
|
769
|
+
});
|
|
721
770
|
}
|
|
722
771
|
/**
|
|
723
772
|
* Adds the schema tags to a given view.
|
|
@@ -759,18 +808,18 @@ function getTargetEntityType(entitySet, view, generateParameters) {
|
|
|
759
808
|
* Adds view custom extensions - custom column and custom action definitions.
|
|
760
809
|
*
|
|
761
810
|
* @param commonInputParameters - list of input parameters as collected by the calling instance
|
|
762
|
-
* @param generateParameters - list of API input parameters
|
|
763
811
|
* @param visualization - visualization of the annotation
|
|
764
812
|
* @param v4Page - the given page in manifest
|
|
813
|
+
* @param logger - extension logger
|
|
765
814
|
*/
|
|
766
|
-
function addViewCustomExtensions(commonInputParameters,
|
|
815
|
+
function addViewCustomExtensions(commonInputParameters, visualization, v4Page, logger) {
|
|
767
816
|
const sectionId = `${ux_specification_types_1.DefinitionName.LineItemsOfView}::${commonInputParameters.viewKey}`;
|
|
768
817
|
const sectionIdPrefix = commonInputParameters.entitySet ? `/${commonInputParameters.entitySet}/` : '';
|
|
769
818
|
const sectionIdInManifest = `${sectionIdPrefix}@${"com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */}${visualization.split(ux_specification_types_1.Visualization.LineItem)[1]}`;
|
|
770
819
|
const viewColumnDefinition = (0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ViewCustomColumn, sectionId, commonInputParameters.appSchema);
|
|
771
820
|
(0, common_1.addDefinitionRef)(viewColumnDefinition.properties.position, ux_specification_types_1.DefinitionName.ViewPosition, sectionId);
|
|
772
821
|
(0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ViewPosition, sectionId, commonInputParameters.appSchema);
|
|
773
|
-
(0, utils_2.addCustomColumnDefinition)(commonInputParameters.appSchema, v4Page,
|
|
822
|
+
(0, utils_2.addCustomColumnDefinition)(commonInputParameters.appSchema, v4Page, logger, `${ux_specification_types_1.DefinitionName.ViewCustomColumn}<${sectionId}>`, sectionId, sectionIdInManifest);
|
|
774
823
|
(0, utils_2.addFragmentEnumForAnchor)(commonInputParameters.appSchema, sectionId, v4Page, `${ux_specification_types_1.DefinitionName.ViewPosition}<${sectionId}>`, sectionIdInManifest);
|
|
775
824
|
// Remove generic position
|
|
776
825
|
if (commonInputParameters.appSchema.definitions.Position) {
|
|
@@ -779,7 +828,7 @@ function addViewCustomExtensions(commonInputParameters, generateParameters, visu
|
|
|
779
828
|
// Table toolbar actions with custom actions
|
|
780
829
|
const schemaIdForToolbarActions = `${ux_specification_types_1.DefinitionName.Actions}<${sectionId}>`;
|
|
781
830
|
const customActionDefinitionKey = `${ux_specification_types_1.DefinitionName.ViewCustomAction}<${sectionId}>`;
|
|
782
|
-
(0, utils_2.addCustomActionDefinition)(commonInputParameters.appSchema, v4Page,
|
|
831
|
+
(0, utils_2.addCustomActionDefinition)(commonInputParameters.appSchema, v4Page, logger, customActionDefinitionKey, schemaIdForToolbarActions, sectionIdInManifest);
|
|
783
832
|
// Anchor selection
|
|
784
833
|
(0, common_1.parseSchemaDefinition)(ux_specification_types_1.DefinitionName.ViewCustomActionPosition, sectionId, commonInputParameters.appSchema);
|
|
785
834
|
const customActionPositionDefinitionKey = `${ux_specification_types_1.DefinitionName.ViewCustomActionPosition}<${sectionId}>`;
|
|
@@ -795,15 +844,18 @@ function addViewCustomExtensions(commonInputParameters, generateParameters, visu
|
|
|
795
844
|
* @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
|
|
796
845
|
* @param commonInputParameters - list of input parameters as collected by the calling instance
|
|
797
846
|
* @param generateParameters - list of API input parameters
|
|
798
|
-
* @param
|
|
847
|
+
* @param generateParameters.serviceAVT - OData service AVT information
|
|
848
|
+
* @param generateParameters.entityType - entity type of the current page
|
|
849
|
+
* @param generateParameters.logger - extension logger
|
|
850
|
+
* @param page - the current page object
|
|
799
851
|
* @param uiAnnotations - UI annotations of the given entityType
|
|
800
852
|
* @param view - the given view
|
|
801
853
|
*/
|
|
802
|
-
function addLRViewParts(visualization, viewsDefinition, commonInputParameters,
|
|
854
|
+
function addLRViewParts(visualization, viewsDefinition, commonInputParameters, { serviceAVT, entityType, logger }, page, uiAnnotations, view) {
|
|
803
855
|
if (visualization?.indexOf(ux_specification_types_1.Visualization.LineItem) > -1) {
|
|
804
856
|
//Add Line item view
|
|
805
|
-
addViewLineItems(commonInputParameters, viewsDefinition, visualization, commonInputParameters.targetAnnotation,
|
|
806
|
-
addViewCustomExtensions(commonInputParameters,
|
|
857
|
+
addViewLineItems(commonInputParameters, viewsDefinition, visualization, commonInputParameters.targetAnnotation, { serviceAVT, entityType }, page);
|
|
858
|
+
addViewCustomExtensions(commonInputParameters, visualization, page.getPage(), logger);
|
|
807
859
|
}
|
|
808
860
|
else if (visualization?.indexOf('Chart') > -1) {
|
|
809
861
|
//Add Chart view
|
|
@@ -834,10 +886,10 @@ function addLRViewParts(visualization, viewsDefinition, commonInputParameters, g
|
|
|
834
886
|
* @param appSchema - app-specific JSON schema
|
|
835
887
|
* @param viewsPaths - views' paths' section in the manifest
|
|
836
888
|
* @param generateParameters - list of API input parameters
|
|
837
|
-
* @param
|
|
889
|
+
* @param page - the current page object
|
|
838
890
|
* @param tableDefinitionName - The name of the table definition in the schema
|
|
839
891
|
*/
|
|
840
|
-
function addLRViews(appSchema, viewsPaths, generateParameters,
|
|
892
|
+
function addLRViews(appSchema, viewsPaths, generateParameters, page, tableDefinitionName) {
|
|
841
893
|
const tableDefinition = appSchema.definitions[tableDefinitionName];
|
|
842
894
|
tableDefinition.properties = {
|
|
843
895
|
annotationPath: tableDefinition.properties.annotationPath,
|
|
@@ -868,7 +920,7 @@ function addLRViews(appSchema, viewsPaths, generateParameters, v4Page, tableDefi
|
|
|
868
920
|
title,
|
|
869
921
|
entitySet: view['entitySet']
|
|
870
922
|
};
|
|
871
|
-
addLRViewParts(visualization, viewsDefinition, commonInputParameters, generateParameters,
|
|
923
|
+
addLRViewParts(visualization, viewsDefinition, commonInputParameters, generateParameters, page, uiAnnotations, view);
|
|
872
924
|
addTagsToView(viewsDefinition, viewKey, namespace, view);
|
|
873
925
|
}
|
|
874
926
|
}
|
|
@@ -923,7 +975,6 @@ function adaptTableDefinition(appSchema, generateParameters, templateAnnotation,
|
|
|
923
975
|
(0, utils_2.addCustomColumnDefinition)(appSchema, v4Page, generateParameters.logger, undefined, annotationTermInSchema, sectionIdInManifest);
|
|
924
976
|
(0, utils_2.addFragmentEnumForAnchor)(appSchema, annotationTermInSchema, v4Page, undefined, sectionIdInManifest);
|
|
925
977
|
const schemaAdjustmentParameters = {
|
|
926
|
-
generateParameters,
|
|
927
978
|
appSchema,
|
|
928
979
|
v4Page,
|
|
929
980
|
tableDefinitionId: `${tableDefinitionName}SPV`,
|
|
@@ -960,7 +1011,6 @@ function adaptTableDefinition(appSchema, generateParameters, templateAnnotation,
|
|
|
960
1011
|
(0, utils_2.addCustomColumnDefinition)(appSchema, v4Page, generateParameters.logger);
|
|
961
1012
|
(0, utils_2.addFragmentEnumForAnchor)(appSchema, ux_specification_types_1.DefinitionName.LineItems, v4Page);
|
|
962
1013
|
const schemaAdjustmentParameters = {
|
|
963
|
-
generateParameters,
|
|
964
1014
|
appSchema,
|
|
965
1015
|
v4Page,
|
|
966
1016
|
tableDefinitionId: tableDefinitionName,
|
|
@@ -976,6 +1026,12 @@ function adaptTableDefinition(appSchema, generateParameters, templateAnnotation,
|
|
|
976
1026
|
(0, utils_2.addCustomActionDefinition)(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForActions);
|
|
977
1027
|
(0, utils_2.addEnumForActionAnchor)(appSchema, schemaIdForActions, ux_specification_types_1.DefinitionName.CustomActionPosition);
|
|
978
1028
|
}
|
|
1029
|
+
// Add "manifestPath" for table properties
|
|
1030
|
+
addManifestPathsToPropertiesLR(appSchema, tableDefinitionName, tableDefinition, {
|
|
1031
|
+
pageName: v4Page.id,
|
|
1032
|
+
manifest: generateParameters.manifest,
|
|
1033
|
+
targetAnnotation
|
|
1034
|
+
});
|
|
979
1035
|
}
|
|
980
1036
|
/**
|
|
981
1037
|
* Checks for the default annotation path to use for LR table.
|
|
@@ -997,39 +1053,6 @@ function getDefaultAnnotationPath(v4Page, entityType, templateType) {
|
|
|
997
1053
|
entityType?.annotations.UI?.PresentationVariant?.term);
|
|
998
1054
|
}
|
|
999
1055
|
}
|
|
1000
|
-
/**
|
|
1001
|
-
* Add views to schema (LR or ALP).
|
|
1002
|
-
*
|
|
1003
|
-
* @param appSchema - app-specific JSON schema
|
|
1004
|
-
* @param v4Page - actual page in the manifest
|
|
1005
|
-
* @param generateParameters - list of API input parameters
|
|
1006
|
-
* @param alias - The alias of the OData annotations
|
|
1007
|
-
*/
|
|
1008
|
-
function addTableAndViews(appSchema, v4Page, generateParameters, alias) {
|
|
1009
|
-
const viewsPaths = v4Page.options?.settings?.views?.paths;
|
|
1010
|
-
const entityType = generateParameters.entityType;
|
|
1011
|
-
const defaultAnnotation = getDefaultAnnotationPath(v4Page, generateParameters.entityType, generateParameters.templateType);
|
|
1012
|
-
const tableDefinitionName = (0, utils_2.alignSchemaWithTemplateType)(appSchema, generateParameters);
|
|
1013
|
-
// Add filter bar
|
|
1014
|
-
addFilterBar(entityType, appSchema, v4Page, alias);
|
|
1015
|
-
if (generateParameters.templateType === ux_specification_types_1.TemplateType.ListReportObjectPageV4) {
|
|
1016
|
-
adaptTableDefinition(appSchema, generateParameters, defaultAnnotation, v4Page, alias, tableDefinitionName);
|
|
1017
|
-
if (viewsPaths) {
|
|
1018
|
-
delete appSchema.definitions['LineItems'];
|
|
1019
|
-
delete appSchema.definitions['ToolBar<LineItems>'];
|
|
1020
|
-
delete appSchema.definitions['Actions<LineItems>'];
|
|
1021
|
-
addLRViews(appSchema, viewsPaths, generateParameters, v4Page, tableDefinitionName);
|
|
1022
|
-
}
|
|
1023
|
-
else if (!v4Page.options?.settings?.views) {
|
|
1024
|
-
appSchema.definitions.MultiTableModeV4.properties = {};
|
|
1025
|
-
}
|
|
1026
|
-
appSchema.properties[ux_specification_types_1.PropertyName.chart][ux_specification_types_1.SchemaTag.hidden] = true;
|
|
1027
|
-
}
|
|
1028
|
-
else if (generateParameters.templateType === ux_specification_types_1.TemplateType.AnalyticalListPageV4) {
|
|
1029
|
-
addALPViews(appSchema, viewsPaths, generateParameters, defaultAnnotation, v4Page, tableDefinitionName);
|
|
1030
|
-
(0, utils_2.addFragmentEnumForAnchor)(appSchema, ux_specification_types_1.DefinitionName.LineItems, v4Page);
|
|
1031
|
-
}
|
|
1032
|
-
}
|
|
1033
1056
|
/**
|
|
1034
1057
|
* Adds header actions to schema (LR or ALP).
|
|
1035
1058
|
*
|
|
@@ -1056,6 +1079,94 @@ function addHeaderActions(appSchema, v4Page, logger) {
|
|
|
1056
1079
|
customActionDefinition.properties.position.$ref = `${common_1.DEFINITION_LINK_PREFIX}${facetKey}`;
|
|
1057
1080
|
(0, utils_2.addEnumForActionAnchor)(appSchema, headerActionsDefinitionKey, facetKey);
|
|
1058
1081
|
}
|
|
1082
|
+
/**
|
|
1083
|
+
* Adds 'manifestPath' to each property in a definition based on metadata sync rules.
|
|
1084
|
+
*
|
|
1085
|
+
* @param appSchema - Full schema.
|
|
1086
|
+
* @param definitionName - The name of the definition/class whose properties are being processed.
|
|
1087
|
+
* @param definition - The definition object containing property schemas.
|
|
1088
|
+
* @param pathParams - Additional context required to compute manifest paths.
|
|
1089
|
+
*/
|
|
1090
|
+
function addManifestPathsToPropertiesLR(appSchema, definitionName, definition, pathParams) {
|
|
1091
|
+
let targetAnnotation = undefined;
|
|
1092
|
+
if (pathParams.targetAnnotation) {
|
|
1093
|
+
const annotationParts = pathParams.targetAnnotation?.split('/');
|
|
1094
|
+
targetAnnotation = annotationParts[annotationParts.length - 1];
|
|
1095
|
+
}
|
|
1096
|
+
else {
|
|
1097
|
+
// Default annotation path
|
|
1098
|
+
targetAnnotation = `@${"com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */}`;
|
|
1099
|
+
}
|
|
1100
|
+
(0, utils_1.addManifestPathsToProperties)(appSchema, definitionName, definition, {
|
|
1101
|
+
...pathParams,
|
|
1102
|
+
pathsParts: [targetAnnotation, '', targetAnnotation]
|
|
1103
|
+
});
|
|
1104
|
+
}
|
|
1105
|
+
/**
|
|
1106
|
+
* Adds 'manifestPath' to static nodes in schema.
|
|
1107
|
+
*
|
|
1108
|
+
* @param appSchema - Full schema.
|
|
1109
|
+
* @param pathParams - Additional context required to compute manifest paths.
|
|
1110
|
+
*/
|
|
1111
|
+
function addManifestPathsToStaticNodes(appSchema, pathParams) {
|
|
1112
|
+
// Root level - rules stored on page class level
|
|
1113
|
+
addManifestPathsToPropertiesLR(appSchema, ux_specification_types_1.PageTypeV4.ListReport, appSchema, pathParams);
|
|
1114
|
+
// Other definitions
|
|
1115
|
+
const definitions = [ux_specification_types_1.DefinitionName.FilterBar, ux_specification_types_1.DefinitionName.MultiTableModeV4];
|
|
1116
|
+
for (const definitionName of definitions) {
|
|
1117
|
+
const definition = appSchema.definitions?.[definitionName];
|
|
1118
|
+
if (typeof definition === 'object') {
|
|
1119
|
+
addManifestPathsToPropertiesLR(appSchema, definitionName, definition, pathParams);
|
|
1120
|
+
}
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
/**
|
|
1124
|
+
* Class to generate the List Report page schema.
|
|
1125
|
+
*/
|
|
1126
|
+
class ListReportPage {
|
|
1127
|
+
/**
|
|
1128
|
+
* Constructor for ListReportPage.
|
|
1129
|
+
*
|
|
1130
|
+
* @param generateParameters - parameters for generating the app schema
|
|
1131
|
+
* @param schema - generic JSON schema of the List Report page
|
|
1132
|
+
* @param templateName - name of the template
|
|
1133
|
+
* @param contextPath - context path of the page
|
|
1134
|
+
*/
|
|
1135
|
+
constructor(generateParameters, schema, templateName, contextPath) {
|
|
1136
|
+
this.schema = new AppSchema_1.AppSchema(schema);
|
|
1137
|
+
this.app = (0, App_1.createApp)(generateParameters.manifest, generateParameters.serviceAVT, generateParameters.logger);
|
|
1138
|
+
this.page = new Page_1.Page(this.app, { name: templateName, type: generateParameters.templateType }, generateParameters.entitySet, contextPath);
|
|
1139
|
+
}
|
|
1140
|
+
/**
|
|
1141
|
+
* Cleans up the schema by hiding specific properties and removing unnecessary definitions.
|
|
1142
|
+
*/
|
|
1143
|
+
cleanup() {
|
|
1144
|
+
this.schema.hide(this.schema.getRootProperty([ux_specification_types_1.PropertyName.defaultTemplateAnnotationPath]));
|
|
1145
|
+
this.schema.cleanup(['GenericColumns', 'Action']);
|
|
1146
|
+
(0, common_1.updatePropertyIndices)(this.schema.getSchema(), ROOT_PROPERTIES_ORDER);
|
|
1147
|
+
}
|
|
1148
|
+
/**
|
|
1149
|
+
* Generates the finalized schema for the List Report page.
|
|
1150
|
+
*
|
|
1151
|
+
* @returns The finalized schema for List Report page
|
|
1152
|
+
*/
|
|
1153
|
+
generate() {
|
|
1154
|
+
new ListReportUtils_1.GeneralListReportSettings(this.schema, this.page, this.app.getLogger()).instantiate();
|
|
1155
|
+
if (!this.page.getPage()) {
|
|
1156
|
+
return this.schema.finalize();
|
|
1157
|
+
}
|
|
1158
|
+
new ListReportUtils_1.Header(this.schema, this.page, this.app.getLogger()).instantiate();
|
|
1159
|
+
new ListReportUtils_1.FilterBar(this.schema, this.page, this.app.getLogger()).instantiate();
|
|
1160
|
+
new ListReportUtils_1.TableAndViews(this.schema, this.page, this.app.getLogger()).instantiate();
|
|
1161
|
+
// Add "manifestPath" for properties in static nodes
|
|
1162
|
+
addManifestPathsToStaticNodes(this.schema.getSchema(), {
|
|
1163
|
+
pageName: this.page.getPage().id,
|
|
1164
|
+
manifest: this.app.getManifest()
|
|
1165
|
+
});
|
|
1166
|
+
this.cleanup();
|
|
1167
|
+
return this.schema.finalize();
|
|
1168
|
+
}
|
|
1169
|
+
}
|
|
1059
1170
|
/**
|
|
1060
1171
|
* Generates an app specific schema for the FE V4 ListReport from the generic schema.
|
|
1061
1172
|
* Generic types are replaced by information from the app specific annotations.
|
|
@@ -1067,37 +1178,11 @@ function addHeaderActions(appSchema, v4Page, logger) {
|
|
|
1067
1178
|
* @returns {object} application-specific schema of the list report
|
|
1068
1179
|
*/
|
|
1069
1180
|
function generateListReportSchemaV4(generateParameters, genericSchema, templateName, contextPath) {
|
|
1070
|
-
const
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
//enum for annotation path as part of QuickVariantSelection
|
|
1075
|
-
(0, common_1.addEnumForSingleTabVariant)(entityType, appSchema, ux_specification_types_1.DefinitionName.AnnotationPathAsObject);
|
|
1076
|
-
if (generateParameters.manifest) {
|
|
1077
|
-
//Find page in targets
|
|
1078
|
-
const pages = generateParameters.manifest[ux_specification_types_1.ManifestSection.ui5].routing
|
|
1079
|
-
.targets;
|
|
1080
|
-
if (!pages) {
|
|
1081
|
-
(0, extensionLogger_1.log)(generateParameters.logger, {
|
|
1082
|
-
severity: "error" /* LogSeverity.Error */,
|
|
1083
|
-
message: i18next_1.default.t('NOPAGES', { appId: generateParameters.manifest['sap.app']['id'] }),
|
|
1084
|
-
location: {
|
|
1085
|
-
path: ux_specification_types_1.MANIFESTPATH,
|
|
1086
|
-
range: [ux_specification_types_1.ManifestSection.generic]
|
|
1087
|
-
}
|
|
1088
|
-
});
|
|
1089
|
-
return appSchema;
|
|
1090
|
-
}
|
|
1091
|
-
const v4Page = (0, utils_2.findPageV4)(pages, templateName, generateParameters.entitySet, contextPath);
|
|
1092
|
-
if (!v4Page) {
|
|
1093
|
-
return appSchema;
|
|
1094
|
-
}
|
|
1095
|
-
addHeaderActions(appSchema, v4Page, generateParameters.logger);
|
|
1096
|
-
addTableAndViews(appSchema, v4Page, generateParameters, alias);
|
|
1181
|
+
const listReport = new ListReportPage(generateParameters, genericSchema, templateName, contextPath);
|
|
1182
|
+
if (!listReport.app.getManifest()) {
|
|
1183
|
+
listReport.cleanup();
|
|
1184
|
+
return listReport.schema.finalize();
|
|
1097
1185
|
}
|
|
1098
|
-
|
|
1099
|
-
delete appSchema.definitions.Action;
|
|
1100
|
-
(0, common_1.updatePropertyIndices)(appSchema, ROOT_PROPERTIES_ORDER);
|
|
1101
|
-
return appSchema;
|
|
1186
|
+
return listReport.generate();
|
|
1102
1187
|
}
|
|
1103
1188
|
//# sourceMappingURL=listReport.js.map
|