@sap/ux-specification 1.96.19 → 1.96.21
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/dist/documentation/runDocu-min.js +27 -2
- package/dist/documentation/runDocu-min.js.map +7 -0
- package/dist/documentation/styleDocu.css +32 -28
- package/dist/documentation/v2/v2-AnalyticalListPage.html +20 -8
- package/dist/documentation/v2/v2-ApplicationV2.html +20 -8
- package/dist/documentation/v2/v2-ListReport.html +20 -8
- package/dist/documentation/v2/v2-ObjectPage.html +20 -8
- package/dist/documentation/v2/v2-OverviewPage.html +20 -8
- package/dist/documentation/v4/v4-ApplicationV4.html +20 -8
- package/dist/documentation/v4/v4-FreestylePage.html +20 -8
- package/dist/documentation/v4/v4-ListReport.html +20 -8
- package/dist/documentation/v4/v4-ObjectPage.html +20 -8
- package/dist/index-min.js +123 -2
- package/dist/index-min.js.map +7 -0
- package/dist/schemas/v2/AnalyticalListPageConfig.json +12 -9
- package/dist/schemas/v2/ListReportConfig.json +133 -130
- package/dist/schemas/v2/ObjectPageConfig.json +2 -3
- package/dist/schemas/v4/ApplicationV4.json +22 -1
- package/dist/schemas/v4/FreestylePageConfig.json +3 -0
- package/dist/schemas/v4/ListReportConfig.json +7 -2
- package/dist/schemas/v4/ObjectPageConfig.json +1 -2
- package/dist/scripts/extractDocu.d.ts +1 -0
- package/dist/scripts/extractDocu.d.ts.map +1 -0
- package/dist/scripts/extractDocu.js +495 -0
- package/dist/scripts/extractDocu.js.map +1 -0
- package/dist/scripts/runDocu.d.ts +1 -0
- package/dist/scripts/runDocu.d.ts.map +1 -0
- package/dist/scripts/runDocu.js +579 -0
- package/dist/scripts/runDocu.js.map +1 -0
- package/dist/scripts/spec.d.ts +1 -0
- package/dist/scripts/spec.d.ts.map +1 -0
- package/dist/scripts/spec.js +114 -0
- package/dist/scripts/spec.js.map +1 -0
- package/dist/scripts/to-json-schema.d.ts +2 -1
- package/dist/scripts/to-json-schema.d.ts.map +1 -0
- package/dist/scripts/to-json-schema.js +132 -0
- package/dist/scripts/to-json-schema.js.map +1 -0
- package/dist/src/api.d.ts +3 -2
- package/dist/src/api.d.ts.map +1 -0
- package/dist/src/api.js +190 -0
- package/dist/src/api.js.map +1 -0
- package/dist/src/apiTypes.d.ts +20 -22
- package/dist/src/apiTypes.d.ts.map +1 -0
- package/dist/src/apiTypes.js +22 -0
- package/dist/src/apiTypes.js.map +1 -0
- package/dist/src/extensionLogger.d.ts +1 -0
- package/dist/src/extensionLogger.d.ts.map +1 -0
- package/dist/src/extensionLogger.js +39 -0
- package/dist/src/extensionLogger.js.map +1 -0
- package/dist/src/i18n/i18n.d.ts +1 -0
- package/dist/src/i18n/i18n.d.ts.map +1 -0
- package/dist/src/i18n/i18n.js +25 -0
- package/dist/src/i18n/i18n.js.map +1 -0
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +13 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/project.d.ts +3 -1
- package/dist/src/project.d.ts.map +1 -0
- package/dist/src/project.js +149 -0
- package/dist/src/project.js.map +1 -0
- package/dist/src/specification/schemaAccess.d.ts +7 -10
- package/dist/src/specification/schemaAccess.d.ts.map +1 -0
- package/dist/src/specification/schemaAccess.js +60 -0
- package/dist/src/specification/schemaAccess.js.map +1 -0
- package/dist/src/sync/common/appProvider.d.ts +5 -6
- package/dist/src/sync/common/appProvider.d.ts.map +1 -0
- package/dist/src/sync/common/appProvider.js +133 -0
- package/dist/src/sync/common/appProvider.js.map +1 -0
- package/dist/src/sync/common/decoration/control.d.ts +1 -0
- package/dist/src/sync/common/decoration/control.d.ts.map +1 -0
- package/dist/src/sync/common/decoration/control.js +211 -0
- package/dist/src/sync/common/decoration/control.js.map +1 -0
- package/dist/src/sync/common/decoration/decorators.d.ts +1 -0
- package/dist/src/sync/common/decoration/decorators.d.ts.map +1 -0
- package/dist/src/sync/common/decoration/decorators.js +45 -0
- package/dist/src/sync/common/decoration/decorators.js.map +1 -0
- package/dist/src/sync/common/decoration/factory.d.ts +2 -1
- package/dist/src/sync/common/decoration/factory.d.ts.map +1 -0
- package/dist/src/sync/common/decoration/factory.js +48 -0
- package/dist/src/sync/common/decoration/factory.js.map +1 -0
- package/dist/src/sync/common/decoration/flex.d.ts +2 -4
- package/dist/src/sync/common/decoration/flex.d.ts.map +1 -0
- package/dist/src/sync/common/decoration/flex.js +8 -0
- package/dist/src/sync/common/decoration/flex.js.map +1 -0
- package/dist/src/sync/common/decoration/index.d.ts +1 -0
- package/dist/src/sync/common/decoration/index.d.ts.map +1 -0
- package/dist/src/sync/common/decoration/index.js +9 -0
- package/dist/src/sync/common/decoration/index.js.map +1 -0
- package/dist/src/sync/common/flexUtils.d.ts +3 -4
- package/dist/src/sync/common/flexUtils.d.ts.map +1 -0
- package/dist/src/sync/common/flexUtils.js +94 -0
- package/dist/src/sync/common/flexUtils.js.map +1 -0
- package/dist/src/sync/common/generate/index.d.ts +1 -0
- package/dist/src/sync/common/generate/index.d.ts.map +1 -0
- package/dist/src/sync/common/generate/index.js +8 -0
- package/dist/src/sync/common/generate/index.js.map +1 -0
- package/dist/src/sync/common/generate/objectPage.d.ts +4 -3
- package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -0
- package/dist/src/sync/common/generate/objectPage.js +378 -0
- package/dist/src/sync/common/generate/objectPage.js.map +1 -0
- package/dist/src/sync/common/generate/utils.d.ts +3 -1
- package/dist/src/sync/common/generate/utils.d.ts.map +1 -0
- package/dist/src/sync/common/generate/utils.js +487 -0
- package/dist/src/sync/common/generate/utils.js.map +1 -0
- package/dist/src/sync/common/i18n.json +23 -0
- package/dist/src/sync/common/import/utils.d.ts +1 -0
- package/dist/src/sync/common/import/utils.d.ts.map +1 -0
- package/dist/src/sync/common/import/utils.js +106 -0
- package/dist/src/sync/common/import/utils.js.map +1 -0
- package/dist/src/sync/common/importProject.d.ts +1 -0
- package/dist/src/sync/common/importProject.d.ts.map +1 -0
- package/dist/src/sync/common/importProject.js +339 -0
- package/dist/src/sync/common/importProject.js.map +1 -0
- package/dist/src/sync/common/index.d.ts +1 -0
- package/dist/src/sync/common/index.d.ts.map +1 -0
- package/dist/src/sync/common/index.js +15 -0
- package/dist/src/sync/common/index.js.map +1 -0
- package/dist/src/sync/common/types.d.ts +7 -54
- package/dist/src/sync/common/types.d.ts.map +1 -0
- package/dist/src/sync/common/types.js +175 -0
- package/dist/src/sync/common/types.js.map +1 -0
- package/dist/src/sync/common/utils.d.ts +6 -7
- package/dist/src/sync/common/utils.d.ts.map +1 -0
- package/dist/src/sync/common/utils.js +1244 -0
- package/dist/src/sync/common/utils.js.map +1 -0
- package/dist/src/sync/i18n.d.ts +1 -0
- package/dist/src/sync/i18n.d.ts.map +1 -0
- package/dist/src/sync/i18n.js +15 -0
- package/dist/src/sync/i18n.js.map +1 -0
- package/dist/src/sync/v2/application.d.ts +8 -7
- package/dist/src/sync/v2/application.d.ts.map +1 -0
- package/dist/src/sync/v2/application.js +189 -0
- package/dist/src/sync/v2/application.js.map +1 -0
- package/dist/src/sync/v2/export/controls/Action.d.ts +5 -4
- package/dist/src/sync/v2/export/controls/Action.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/Action.js +127 -0
- package/dist/src/sync/v2/export/controls/Action.js.map +1 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts +4 -3
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +73 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +3 -2
- package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +56 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -0
- package/dist/src/sync/v2/export/controls/Card.d.ts +31 -30
- package/dist/src/sync/v2/export/controls/Card.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/Card.js +655 -0
- package/dist/src/sync/v2/export/controls/Card.js.map +1 -0
- package/dist/src/sync/v2/export/controls/Field.d.ts +3 -2
- package/dist/src/sync/v2/export/controls/Field.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/Field.js +41 -0
- package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
- package/dist/src/sync/v2/export/controls/FilterBar.d.ts +14 -14
- package/dist/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/FilterBar.js +283 -0
- package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -0
- package/dist/src/sync/v2/export/controls/FormAction.d.ts +4 -3
- package/dist/src/sync/v2/export/controls/FormAction.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/FormAction.js +96 -0
- package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
- package/dist/src/sync/v2/export/controls/Fragment.d.ts +6 -5
- package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/Fragment.js +580 -0
- package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts +4 -3
- package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageChart.js +37 -0
- package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts +7 -8
- package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +110 -0
- package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +3 -2
- package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +62 -0
- package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +3 -2
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +61 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +3 -2
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +62 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts +3 -2
- package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +59 -0
- package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +14 -13
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +194 -0
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +17 -17
- package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageTable.js +336 -0
- package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +3 -2
- package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +61 -0
- package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
- package/dist/src/sync/v2/export/controls/Table.d.ts +25 -24
- package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/Table.js +709 -0
- package/dist/src/sync/v2/export/controls/Table.js.map +1 -0
- package/dist/src/sync/v2/export/controls/TableColumn.d.ts +6 -6
- package/dist/src/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/TableColumn.js +166 -0
- package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ToolBar.d.ts +4 -3
- package/dist/src/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ToolBar.js +6 -0
- package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -0
- package/dist/src/sync/v2/export/controls/index.d.ts +1 -0
- package/dist/src/sync/v2/export/controls/index.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/index.js +26 -0
- package/dist/src/sync/v2/export/controls/index.js.map +1 -0
- package/dist/src/sync/v2/export/export.d.ts +2 -1
- package/dist/src/sync/v2/export/export.d.ts.map +1 -0
- package/dist/src/sync/v2/export/export.js +681 -0
- package/dist/src/sync/v2/export/export.js.map +1 -0
- package/dist/src/sync/v2/export/exportPage.d.ts +3 -1
- package/dist/src/sync/v2/export/exportPage.d.ts.map +1 -0
- package/dist/src/sync/v2/export/exportPage.js +304 -0
- package/dist/src/sync/v2/export/exportPage.js.map +1 -0
- package/dist/src/sync/v2/export/factory.d.ts +1 -0
- package/dist/src/sync/v2/export/factory.d.ts.map +1 -0
- package/dist/src/sync/v2/export/factory.js +58 -0
- package/dist/src/sync/v2/export/factory.js.map +1 -0
- package/dist/src/sync/v2/export/manifest.d.ts +3 -2
- package/dist/src/sync/v2/export/manifest.d.ts.map +1 -0
- package/dist/src/sync/v2/export/manifest.js +155 -0
- package/dist/src/sync/v2/export/manifest.js.map +1 -0
- package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +7 -8
- package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
- package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +42 -0
- package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -0
- package/dist/src/sync/v2/export/pages/ListReport.d.ts +5 -4
- package/dist/src/sync/v2/export/pages/ListReport.d.ts.map +1 -0
- package/dist/src/sync/v2/export/pages/ListReport.js +39 -0
- package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -0
- package/dist/src/sync/v2/export/pages/ObjectPage.d.ts +8 -8
- package/dist/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
- package/dist/src/sync/v2/export/pages/ObjectPage.js +100 -0
- package/dist/src/sync/v2/export/pages/ObjectPage.js.map +1 -0
- package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +8 -7
- package/dist/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
- package/dist/src/sync/v2/export/pages/OverviewPage.js +213 -0
- package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -0
- package/dist/src/sync/v2/export/pages/index.d.ts +1 -0
- package/dist/src/sync/v2/export/pages/index.d.ts.map +1 -0
- package/dist/src/sync/v2/export/pages/index.js +10 -0
- package/dist/src/sync/v2/export/pages/index.js.map +1 -0
- package/dist/src/sync/v2/export/view-controller-generator.d.ts +5 -5
- package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +1 -0
- package/dist/src/sync/v2/export/view-controller-generator.js +140 -0
- package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -0
- package/dist/src/sync/v2/generate/analyticalListReport.d.ts +2 -1
- package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/analyticalListReport.js +86 -0
- package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -0
- package/dist/src/sync/v2/generate/generate.d.ts +2 -1
- package/dist/src/sync/v2/generate/generate.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/generate.js +99 -0
- package/dist/src/sync/v2/generate/generate.js.map +1 -0
- package/dist/src/sync/v2/generate/index.d.ts +1 -0
- package/dist/src/sync/v2/generate/index.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/index.js +14 -0
- package/dist/src/sync/v2/generate/index.js.map +1 -0
- package/dist/src/sync/v2/generate/listReport.d.ts +2 -1
- package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/listReport.js +124 -0
- package/dist/src/sync/v2/generate/listReport.js.map +1 -0
- package/dist/src/sync/v2/generate/objectPage.d.ts +2 -1
- package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/objectPage.js +545 -0
- package/dist/src/sync/v2/generate/objectPage.js.map +1 -0
- package/dist/src/sync/v2/generate/overviewPage.d.ts +2 -1
- package/dist/src/sync/v2/generate/overviewPage.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/overviewPage.js +70 -0
- package/dist/src/sync/v2/generate/overviewPage.js.map +1 -0
- package/dist/src/sync/v2/generate/utils.d.ts +4 -4
- package/dist/src/sync/v2/generate/utils.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/utils.js +531 -0
- package/dist/src/sync/v2/generate/utils.js.map +1 -0
- package/dist/src/sync/v2/import/app/appProvider.d.ts +5 -4
- package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -0
- package/dist/src/sync/v2/import/app/appProvider.js +136 -0
- package/dist/src/sync/v2/import/app/appProvider.js.map +1 -0
- package/dist/src/sync/v2/import/app/ovpProvider.d.ts +2 -1
- package/dist/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
- package/dist/src/sync/v2/import/app/ovpProvider.js +32 -0
- package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -0
- package/dist/src/sync/v2/import/common/index.d.ts +7 -9
- package/dist/src/sync/v2/import/common/index.d.ts.map +1 -0
- package/dist/src/sync/v2/import/common/index.js +413 -0
- package/dist/src/sync/v2/import/common/index.js.map +1 -0
- package/dist/src/sync/v2/import/controls/table.d.ts +3 -2
- package/dist/src/sync/v2/import/controls/table.d.ts.map +1 -0
- package/dist/src/sync/v2/import/controls/table.js +33 -0
- package/dist/src/sync/v2/import/controls/table.js.map +1 -0
- package/dist/src/sync/v2/import/getPageType.d.ts +1 -0
- package/dist/src/sync/v2/import/getPageType.d.ts.map +1 -0
- package/dist/src/sync/v2/import/getPageType.js +1 -0
- package/dist/src/sync/v2/import/getPageType.js.map +1 -0
- package/dist/src/sync/v2/import/index.d.ts +1 -0
- package/dist/src/sync/v2/import/index.d.ts.map +1 -0
- package/dist/src/sync/v2/import/index.js +11 -0
- package/dist/src/sync/v2/import/index.js.map +1 -0
- package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts +3 -2
- package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
- package/dist/src/sync/v2/import/pages/analyticalListPage.js +128 -0
- package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -0
- package/dist/src/sync/v2/import/pages/listReport.d.ts +3 -2
- package/dist/src/sync/v2/import/pages/listReport.d.ts.map +1 -0
- package/dist/src/sync/v2/import/pages/listReport.js +156 -0
- package/dist/src/sync/v2/import/pages/listReport.js.map +1 -0
- package/dist/src/sync/v2/import/pages/objectPage.d.ts +4 -2
- package/dist/src/sync/v2/import/pages/objectPage.d.ts.map +1 -0
- package/dist/src/sync/v2/import/pages/objectPage.js +746 -0
- package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -0
- package/dist/src/sync/v2/import/pages/overviewPage.d.ts +3 -3
- package/dist/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
- package/dist/src/sync/v2/import/pages/overviewPage.js +111 -0
- package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -0
- package/dist/src/sync/v2/import/utils.d.ts +6 -5
- package/dist/src/sync/v2/import/utils.d.ts.map +1 -0
- package/dist/src/sync/v2/import/utils.js +171 -0
- package/dist/src/sync/v2/import/utils.js.map +1 -0
- package/dist/src/sync/v2/types.d.ts +6 -6
- package/dist/src/sync/v2/types.d.ts.map +1 -0
- package/dist/src/sync/v2/types.js +37 -0
- package/dist/src/sync/v2/types.js.map +1 -0
- package/dist/src/sync/v4/application.d.ts +7 -7
- package/dist/src/sync/v4/application.d.ts.map +1 -0
- package/dist/src/sync/v4/application.js +164 -0
- package/dist/src/sync/v4/application.js.map +1 -0
- package/dist/src/sync/v4/export/controls/FilterBar.d.ts +5 -3
- package/dist/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/FilterBar.js +24 -0
- package/dist/src/sync/v4/export/controls/FilterBar.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +5 -6
- package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js +135 -0
- package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts +4 -3
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.js +54 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.d.ts +11 -10
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js +65 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageLayout.d.ts +4 -3
- package/dist/src/sync/v4/export/controls/ObjectPageLayout.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageLayout.js +24 -0
- package/dist/src/sync/v4/export/controls/ObjectPageLayout.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTable.d.ts +10 -9
- package/dist/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTable.js +233 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +12 -11
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +160 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +7 -6
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js +113 -0
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -0
- package/dist/src/sync/v4/export/controls/Table.d.ts +28 -28
- package/dist/src/sync/v4/export/controls/Table.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/Table.js +784 -0
- package/dist/src/sync/v4/export/controls/Table.js.map +1 -0
- package/dist/src/sync/v4/export/controls/TableColumn.d.ts +21 -20
- package/dist/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/TableColumn.js +310 -0
- package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ToolBar.d.ts +4 -3
- package/dist/src/sync/v4/export/controls/ToolBar.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ToolBar.js +9 -0
- package/dist/src/sync/v4/export/controls/ToolBar.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts +12 -11
- package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ToolBarAction.js +214 -0
- package/dist/src/sync/v4/export/controls/ToolBarAction.js.map +1 -0
- package/dist/src/sync/v4/export/controls/index.d.ts +1 -0
- package/dist/src/sync/v4/export/controls/index.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/index.js +18 -0
- package/dist/src/sync/v4/export/controls/index.js.map +1 -0
- package/dist/src/sync/v4/export/export.d.ts +1 -0
- package/dist/src/sync/v4/export/export.d.ts.map +1 -0
- package/dist/src/sync/v4/export/export.js +846 -0
- package/dist/src/sync/v4/export/export.js.map +1 -0
- package/dist/src/sync/v4/export/exportCustomColumn.d.ts +1 -0
- package/dist/src/sync/v4/export/exportCustomColumn.d.ts.map +1 -0
- package/dist/src/sync/v4/export/exportCustomColumn.js +49 -0
- package/dist/src/sync/v4/export/exportCustomColumn.js.map +1 -0
- package/dist/src/sync/v4/export/factory.d.ts +1 -0
- package/dist/src/sync/v4/export/factory.d.ts.map +1 -0
- package/dist/src/sync/v4/export/factory.js +44 -0
- package/dist/src/sync/v4/export/factory.js.map +1 -0
- package/dist/src/sync/v4/export/flexibleColumnLayout.d.ts +4 -2
- package/dist/src/sync/v4/export/flexibleColumnLayout.d.ts.map +1 -0
- package/dist/src/sync/v4/export/flexibleColumnLayout.js +125 -0
- package/dist/src/sync/v4/export/flexibleColumnLayout.js.map +1 -0
- package/dist/src/sync/v4/export/manifest.d.ts +3 -2
- package/dist/src/sync/v4/export/manifest.d.ts.map +1 -0
- package/dist/src/sync/v4/export/manifest.js +235 -0
- package/dist/src/sync/v4/export/manifest.js.map +1 -0
- package/dist/src/sync/v4/export/pages/FreestylePage.d.ts +1 -0
- package/dist/src/sync/v4/export/pages/FreestylePage.d.ts.map +1 -0
- package/dist/src/sync/v4/export/pages/FreestylePage.js +9 -0
- package/dist/src/sync/v4/export/pages/FreestylePage.js.map +1 -0
- package/dist/src/sync/v4/export/pages/ListReport.d.ts +7 -6
- package/dist/src/sync/v4/export/pages/ListReport.d.ts.map +1 -0
- package/dist/src/sync/v4/export/pages/ListReport.js +82 -0
- package/dist/src/sync/v4/export/pages/ListReport.js.map +1 -0
- package/dist/src/sync/v4/export/pages/ObjectPage.d.ts +5 -4
- package/dist/src/sync/v4/export/pages/ObjectPage.d.ts.map +1 -0
- package/dist/src/sync/v4/export/pages/ObjectPage.js +40 -0
- package/dist/src/sync/v4/export/pages/ObjectPage.js.map +1 -0
- package/dist/src/sync/v4/export/pages/index.d.ts +1 -0
- package/dist/src/sync/v4/export/pages/index.d.ts.map +1 -0
- package/dist/src/sync/v4/export/pages/index.js +9 -0
- package/dist/src/sync/v4/export/pages/index.js.map +1 -0
- package/dist/src/sync/v4/export/types.d.ts +2 -1
- package/dist/src/sync/v4/export/types.d.ts.map +1 -0
- package/dist/src/sync/v4/export/types.js +3 -0
- package/dist/src/sync/v4/export/types.js.map +1 -0
- package/dist/src/sync/v4/export/utils.d.ts +3 -2
- package/dist/src/sync/v4/export/utils.d.ts.map +1 -0
- package/dist/src/sync/v4/export/utils.js +43 -0
- package/dist/src/sync/v4/export/utils.js.map +1 -0
- package/dist/src/sync/v4/generate/freestylePage.d.ts +1 -0
- package/dist/src/sync/v4/generate/freestylePage.d.ts.map +1 -0
- package/dist/src/sync/v4/generate/freestylePage.js +15 -0
- package/dist/src/sync/v4/generate/freestylePage.js.map +1 -0
- package/dist/src/sync/v4/generate/generate.d.ts +2 -1
- package/dist/src/sync/v4/generate/generate.d.ts.map +1 -0
- package/dist/src/sync/v4/generate/generate.js +81 -0
- package/dist/src/sync/v4/generate/generate.js.map +1 -0
- package/dist/src/sync/v4/generate/index.d.ts +1 -0
- package/dist/src/sync/v4/generate/index.d.ts.map +1 -0
- package/dist/src/sync/v4/generate/index.js +13 -0
- package/dist/src/sync/v4/generate/index.js.map +1 -0
- package/dist/src/sync/v4/generate/listReport.d.ts +1 -0
- package/dist/src/sync/v4/generate/listReport.d.ts.map +1 -0
- package/dist/src/sync/v4/generate/listReport.js +680 -0
- package/dist/src/sync/v4/generate/listReport.js.map +1 -0
- package/dist/src/sync/v4/generate/objectPage.d.ts +1 -0
- package/dist/src/sync/v4/generate/objectPage.d.ts.map +1 -0
- package/dist/src/sync/v4/generate/objectPage.js +618 -0
- package/dist/src/sync/v4/generate/objectPage.js.map +1 -0
- package/dist/src/sync/v4/import/app/appProvider.d.ts +3 -2
- package/dist/src/sync/v4/import/app/appProvider.d.ts.map +1 -0
- package/dist/src/sync/v4/import/app/appProvider.js +10 -0
- package/dist/src/sync/v4/import/app/appProvider.js.map +1 -0
- package/dist/src/sync/v4/import/app/baseAppProvider.d.ts +11 -10
- package/dist/src/sync/v4/import/app/baseAppProvider.d.ts.map +1 -0
- package/dist/src/sync/v4/import/app/baseAppProvider.js +330 -0
- package/dist/src/sync/v4/import/app/baseAppProvider.js.map +1 -0
- package/dist/src/sync/v4/import/app/freestyleProvider.d.ts +3 -2
- package/dist/src/sync/v4/import/app/freestyleProvider.d.ts.map +1 -0
- package/dist/src/sync/v4/import/app/freestyleProvider.js +11 -0
- package/dist/src/sync/v4/import/app/freestyleProvider.js.map +1 -0
- package/dist/src/sync/v4/import/app/index.d.ts +1 -0
- package/dist/src/sync/v4/import/app/index.d.ts.map +1 -0
- package/dist/src/sync/v4/import/app/index.js +12 -0
- package/dist/src/sync/v4/import/app/index.js.map +1 -0
- package/dist/src/sync/v4/import/fragment.d.ts +2 -1
- package/dist/src/sync/v4/import/fragment.d.ts.map +1 -0
- package/dist/src/sync/v4/import/fragment.js +130 -0
- package/dist/src/sync/v4/import/fragment.js.map +1 -0
- package/dist/src/sync/v4/import/index.d.ts +1 -0
- package/dist/src/sync/v4/import/index.d.ts.map +1 -0
- package/dist/src/sync/v4/import/index.js +8 -0
- package/dist/src/sync/v4/import/index.js.map +1 -0
- package/dist/src/sync/v4/import/pages/listReport.d.ts +5 -4
- package/dist/src/sync/v4/import/pages/listReport.d.ts.map +1 -0
- package/dist/src/sync/v4/import/pages/listReport.js +287 -0
- package/dist/src/sync/v4/import/pages/listReport.js.map +1 -0
- package/dist/src/sync/v4/import/pages/objectPage.d.ts +3 -2
- package/dist/src/sync/v4/import/pages/objectPage.d.ts.map +1 -0
- package/dist/src/sync/v4/import/pages/objectPage.js +267 -0
- package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -0
- package/dist/src/sync/v4/import/utils.d.ts +2 -1
- package/dist/src/sync/v4/import/utils.d.ts.map +1 -0
- package/dist/src/sync/v4/import/utils.js +34 -0
- package/dist/src/sync/v4/import/utils.js.map +1 -0
- package/dist/src/sync/v4/types.d.ts +1 -0
- package/dist/src/sync/v4/types.d.ts.map +1 -0
- package/dist/src/sync/v4/types.js +3 -0
- package/dist/src/sync/v4/types.js.map +1 -0
- package/dist/src/sync/v4/utils/StableIdHelper.d.ts +1 -0
- package/dist/src/sync/v4/utils/StableIdHelper.d.ts.map +1 -0
- package/dist/src/sync/v4/utils/StableIdHelper.js +156 -0
- package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -0
- package/dist/src/sync/v4/utils/utils.d.ts +8 -7
- package/dist/src/sync/v4/utils/utils.d.ts.map +1 -0
- package/dist/src/sync/v4/utils/utils.js +442 -0
- package/dist/src/sync/v4/utils/utils.js.map +1 -0
- package/package.json +16 -21
- package/CHANGELOG.md +0 -411
- package/dist/documentation/runDocu-min.js.LICENSE.txt +0 -24
- package/dist/index-min.js.LICENSE.txt +0 -26
- package/dist/specification/v2/index-min.js +0 -1
- package/dist/specification/v4/index-min.js +0 -1
- package/dist/src/specification/common/Application.d.ts +0 -36
- package/dist/src/specification/common/index.d.ts +0 -5
- package/dist/src/specification/common/page.d.ts +0 -47
- package/dist/src/specification/common/types.d.ts +0 -16
- package/dist/src/specification/common/webapp/manifest/Manifest.d.ts +0 -49
- package/dist/src/specification/common/webapp/manifest/index.d.ts +0 -3
- package/dist/src/specification/common/webapp/manifest/sapOvp.d.ts +0 -375
- package/dist/src/specification/common/webapp/manifest/sapUi5.d.ts +0 -33
- package/dist/src/specification/v2/ApplicationV2.d.ts +0 -46
- package/dist/src/specification/v2/controls/Action.d.ts +0 -73
- package/dist/src/specification/v2/controls/AnalyticalListPageChart.d.ts +0 -58
- package/dist/src/specification/v2/controls/AnalyticalListPageKPI.d.ts +0 -30
- package/dist/src/specification/v2/controls/Card.d.ts +0 -657
- package/dist/src/specification/v2/controls/Facets.d.ts +0 -17
- package/dist/src/specification/v2/controls/Field.d.ts +0 -10
- package/dist/src/specification/v2/controls/FilterBar.d.ts +0 -234
- package/dist/src/specification/v2/controls/Footer.d.ts +0 -20
- package/dist/src/specification/v2/controls/ObjectPageChart.d.ts +0 -16
- package/dist/src/specification/v2/controls/ObjectPageForm.d.ts +0 -15
- package/dist/src/specification/v2/controls/ObjectPageHeader.d.ts +0 -32
- package/dist/src/specification/v2/controls/ObjectPageLayout.d.ts +0 -22
- package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +0 -120
- package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +0 -186
- package/dist/src/specification/v2/controls/ObjectPageToolBar.d.ts +0 -15
- package/dist/src/specification/v2/controls/Table.d.ts +0 -482
- package/dist/src/specification/v2/controls/ToolBar.d.ts +0 -8
- package/dist/src/specification/v2/controls/index.d.ts +0 -17
- package/dist/src/specification/v2/index.d.ts +0 -5
- package/dist/src/specification/v2/page.d.ts +0 -7
- package/dist/src/specification/v2/pages/AnalyticalListPageConfig.d.ts +0 -21
- package/dist/src/specification/v2/pages/ListReportConfig.d.ts +0 -12
- package/dist/src/specification/v2/pages/ObjectPageConfig.d.ts +0 -33
- package/dist/src/specification/v2/pages/OverviewPageConfig.d.ts +0 -131
- package/dist/src/specification/v2/pages/index.d.ts +0 -4
- package/dist/src/specification/v2/webapp/index.d.ts +0 -1
- package/dist/src/specification/v2/webapp/manifest/index.d.ts +0 -2
- package/dist/src/specification/v2/webapp/manifest/sapUi.d.ts +0 -10
- package/dist/src/specification/v2/webapp/manifest/sapUi5.d.ts +0 -98
- package/dist/src/specification/v2/webapp/manifest/sapUiPageV2.d.ts +0 -31
- package/dist/src/specification/v4/ApplicationV4.d.ts +0 -31
- package/dist/src/specification/v4/controls/FilterBar.d.ts +0 -18
- package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +0 -11
- package/dist/src/specification/v4/controls/ObjectPageHeader.d.ts +0 -29
- package/dist/src/specification/v4/controls/ObjectPageHeaderSection.d.ts +0 -46
- package/dist/src/specification/v4/controls/ObjectPageLayout.d.ts +0 -14
- package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +0 -98
- package/dist/src/specification/v4/controls/ObjectPageTable.d.ts +0 -106
- package/dist/src/specification/v4/controls/ObjectPageToolBar.d.ts +0 -37
- package/dist/src/specification/v4/controls/Table.d.ts +0 -339
- package/dist/src/specification/v4/controls/ToolBar.d.ts +0 -110
- package/dist/src/specification/v4/controls/index.d.ts +0 -10
- package/dist/src/specification/v4/index.d.ts +0 -5
- package/dist/src/specification/v4/page.d.ts +0 -17
- package/dist/src/specification/v4/pages/FreestylePageConfig.d.ts +0 -2
- package/dist/src/specification/v4/pages/ListReportConfig.d.ts +0 -36
- package/dist/src/specification/v4/pages/ObjectPageConfig.d.ts +0 -18
- package/dist/src/specification/v4/pages/index.d.ts +0 -3
- package/dist/src/specification/v4/webapp/index.d.ts +0 -1
- package/dist/src/specification/v4/webapp/manifest/ManifestSettings.d.ts +0 -224
- package/dist/src/specification/v4/webapp/manifest/index.d.ts +0 -4
- package/dist/src/specification/v4/webapp/manifest/sapUi5.d.ts +0 -102
- package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.d.ts +0 -83
- package/dist/src/v2.d.ts +0 -2
- package/dist/src/v4.d.ts +0 -2
- package/dist/test/test-data/flexChange/v2/stta.prod.man/index.d.ts +0 -7
- package/dist/test/test-projects/index.d.ts +0 -2
- package/dist/test/test-utils/utils.d.ts +0 -32
- package/dist/test/unit/customSections/exportV2.test.d.ts +0 -1
- package/dist/test/unit/customSections/exportV4.test.d.ts +0 -1
- package/dist/test/unit/customSections/generateFacetsSchemaV2.test.d.ts +0 -1
- package/dist/test/unit/customSections/generateFacetsSchemaV4.test.d.ts +0 -1
- package/dist/test/unit/customSections/importV2.test.d.ts +0 -1
- package/dist/test/unit/customSections/importV4.test.d.ts +0 -1
- package/dist/test/unit/export/exportALPV2.test.d.ts +0 -1
- package/dist/test/unit/export/exportALPV4.test.d.ts +0 -1
- package/dist/test/unit/export/exportAppV2.test.d.ts +0 -1
- package/dist/test/unit/export/exportAppV4.test.d.ts +0 -1
- package/dist/test/unit/export/exportFormPageV4.test.d.ts +0 -1
- package/dist/test/unit/export/exportLRPV2.test.d.ts +0 -1
- package/dist/test/unit/export/exportLRPV2CustomColumns.test.d.ts +0 -1
- package/dist/test/unit/export/exportLRPV4.test.d.ts +0 -1
- package/dist/test/unit/export/exportOVPV2.test.d.ts +0 -1
- package/dist/test/unit/export/exportObjectPageV2.test.d.ts +0 -1
- package/dist/test/unit/export/exportObjectPageV4.test.d.ts +0 -1
- package/dist/test/unit/export/flexUtils.test.d.ts +0 -1
- package/dist/test/unit/export/manifest.test.d.ts +0 -1
- package/dist/test/unit/fcl/exportV2.test.d.ts +0 -1
- package/dist/test/unit/fcl/exportV4.test.d.ts +0 -1
- package/dist/test/unit/fcl/importV2.test.d.ts +0 -1
- package/dist/test/unit/fcl/importV4.test.d.ts +0 -1
- package/dist/test/unit/generateAppSchema/generateAppSchemaALPV2.test.d.ts +0 -1
- package/dist/test/unit/generateAppSchema/generateAppSchemaALPV4.test.d.ts +0 -1
- package/dist/test/unit/generateAppSchema/generateAppSchemaFFV4.test.d.ts +0 -1
- package/dist/test/unit/generateAppSchema/generateAppSchemaFPV4.test.d.ts +0 -1
- package/dist/test/unit/generateAppSchema/generateAppSchemaLRV2.test.d.ts +0 -1
- package/dist/test/unit/generateAppSchema/generateAppSchemaLRV4.test.d.ts +0 -1
- package/dist/test/unit/generateAppSchema/generateAppSchemaOPV2.test.d.ts +0 -1
- package/dist/test/unit/generateAppSchema/generateAppSchemaOPV4.test.d.ts +0 -1
- package/dist/test/unit/generateAppSchema/generateAppSchemaOVPV2.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/generateGenericSchemaAppV2.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/generateGenericSchemaAppV4.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/generateGenericSchemaFFV4.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/generateGenericSchemaLRV2.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/generateGenericSchemaLRV4.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/generateGenericSchemaOPV2.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/generateGenericSchemaOPV4.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/generateI18nV2.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/generateI18nV4.test.d.ts +0 -1
- package/dist/test/unit/generateGenericSchema/genericSchemas.test.d.ts +0 -1
- package/dist/test/unit/import/fragment.test.d.ts +0 -1
- package/dist/test/unit/import/importALPV2.test.d.ts +0 -1
- package/dist/test/unit/import/importALPV4.test.d.ts +0 -1
- package/dist/test/unit/import/importAppV2.test.d.ts +0 -1
- package/dist/test/unit/import/importAppV4.test.d.ts +0 -1
- package/dist/test/unit/import/importFPV4.test.d.ts +0 -1
- package/dist/test/unit/import/importLRPV2.test.d.ts +0 -1
- package/dist/test/unit/import/importLRPV4.test.d.ts +0 -1
- package/dist/test/unit/import/importOPV2.test.d.ts +0 -1
- package/dist/test/unit/import/importOPV4.test.d.ts +0 -1
- package/dist/test/unit/import/importOVPV2.test.d.ts +0 -1
- package/dist/test/unit/index.test.d.ts +0 -1
- package/dist/test/unit/projects.test.d.ts +0 -1
- package/dist/test/unit/schemaAccess.test.d.ts +0 -1
- package/dist/test/unit/utils.test.d.ts +0 -1
- package/dist/test/unit/view-controller-generator.test.d.ts +0 -1
|
@@ -0,0 +1,680 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("../utils/utils");
|
|
7
|
+
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
8
|
+
const i18next_1 = __importDefault(require("i18next"));
|
|
9
|
+
const extensionLogger_1 = require("../../../extensionLogger");
|
|
10
|
+
const common_1 = require("../../common");
|
|
11
|
+
/**
|
|
12
|
+
* Adds the selection fields to the app schema, as properties of the FilterBar
|
|
13
|
+
* @param entityType - the entity type as part of the AVT ConvertedMetadata
|
|
14
|
+
* @param appSchema - the app specific schema that shall get enhanced
|
|
15
|
+
* @param selectionFieldsAnnotation - the UI.SelectionField annotation
|
|
16
|
+
*/
|
|
17
|
+
function addSelectionFields(entityType, appSchema, selectionFieldsAnnotation) {
|
|
18
|
+
const selectionFieldsDefinition = appSchema['definitions'].SelectionFields;
|
|
19
|
+
selectionFieldsDefinition.additionalProperties = false;
|
|
20
|
+
selectionFieldsDefinition.properties = {};
|
|
21
|
+
if (!entityType) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
selectionFieldsDefinition[common_1.SchemaTag.annotationPath] = common_1.createAnnotationPath(entityType.fullyQualifiedName, "com.sap.vocabularies.UI.v1.SelectionFields" /* SelectionFields */);
|
|
25
|
+
if (!selectionFieldsAnnotation) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
let i = 0;
|
|
29
|
+
selectionFieldsAnnotation.forEach((selectionField) => {
|
|
30
|
+
let description = selectionField.value;
|
|
31
|
+
const fieldDefinition = 'SelectionField::' + common_1.prepareRef(selectionField.value);
|
|
32
|
+
if (selectionField.type === 'PropertyPath') {
|
|
33
|
+
description = common_1.getLabelForPropertyPath(selectionField, entityType);
|
|
34
|
+
}
|
|
35
|
+
selectionFieldsDefinition['properties'][fieldDefinition] = {
|
|
36
|
+
$ref: common_1.DEFINITION_LINK_PREFIX + fieldDefinition
|
|
37
|
+
};
|
|
38
|
+
selectionFieldsDefinition['properties'][fieldDefinition][common_1.SchemaTag.propertyIndex] = i;
|
|
39
|
+
const dataType = common_1.determineDataType(selectionField);
|
|
40
|
+
appSchema['definitions'][fieldDefinition] = Object.assign({ type: 'object', properties: {}, description, annotationPath: `${selectionFieldsDefinition[common_1.SchemaTag.annotationPath]}/${i}`, isViewNode: true, additionalProperties: false, annotationType: selectionField === null || selectionField === void 0 ? void 0 : selectionField.type }, (dataType && { dataType }));
|
|
41
|
+
i++;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Convert alias prefix of visualization if different from @UI (e.g. SAP__UI)
|
|
46
|
+
* @param visualization visualization of an (Selection)PresentationVariant
|
|
47
|
+
* @param alias - the given alias or namespace of the OData annotations
|
|
48
|
+
* @returns the converted visualization
|
|
49
|
+
*/
|
|
50
|
+
function convertVisualization(visualization, alias) {
|
|
51
|
+
if (visualization && !visualization.startsWith(`@${alias}`)) {
|
|
52
|
+
return visualization.replace(visualization.split('.')[0], '@UI');
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return visualization;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function defineActions(appSchema, schemaIdForActions, annotations, targetAnnotation, entityType) {
|
|
59
|
+
appSchema.definitions[schemaIdForActions] = JSON.parse(JSON.stringify(appSchema.definitions['Actions']));
|
|
60
|
+
const actions = appSchema.definitions[schemaIdForActions];
|
|
61
|
+
actions.properties = {};
|
|
62
|
+
actions.additionalProperties = false;
|
|
63
|
+
const chartAnnotation = annotations[targetAnnotation === null || targetAnnotation === void 0 ? void 0 : targetAnnotation.split(`${common_1.UIVOCABULARY}.`)[1]];
|
|
64
|
+
if (chartAnnotation && chartAnnotation.Actions) {
|
|
65
|
+
let i = 0;
|
|
66
|
+
chartAnnotation.Actions.forEach((actionRecord) => {
|
|
67
|
+
const actionDefinition = common_1.prepareRef(`${common_1.DefinitionName.ChartToolBarAction}<${actionRecord.Action}>`);
|
|
68
|
+
const description = common_1.getDataFieldDescription(actionRecord, entityType);
|
|
69
|
+
const prefix = actionRecord.$Type.split(`${common_1.UIVOCABULARY}.`)[1];
|
|
70
|
+
const action = (actions.properties[`${prefix}::${actionRecord.Action}`] = {
|
|
71
|
+
$ref: common_1.DEFINITION_LINK_PREFIX + actionDefinition,
|
|
72
|
+
description
|
|
73
|
+
});
|
|
74
|
+
//Add tags
|
|
75
|
+
action[common_1.SchemaTag.propertyIndex] = i;
|
|
76
|
+
action[common_1.SchemaTag.annotationType] = actionRecord.$Type;
|
|
77
|
+
action[common_1.SchemaTag.annotationPath] = `/${actionRecord.fullyQualifiedName}`;
|
|
78
|
+
//as ChartToolBarAction is an empty object, copy ViewToolBarAction and remove properties
|
|
79
|
+
appSchema.definitions[actionDefinition] = JSON.parse(JSON.stringify(appSchema.definitions[common_1.DefinitionName.ViewToolBarAction]));
|
|
80
|
+
appSchema.definitions[actionDefinition].properties = {};
|
|
81
|
+
appSchema.definitions[actionDefinition][common_1.SchemaTag.annotationPath] = actionRecord.fullyQualifiedName;
|
|
82
|
+
i++;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Finds the right visualization for a given view
|
|
88
|
+
* @param allVisualizations - list of visualizations for the given (S)PV
|
|
89
|
+
* @param alias - alias definition for the relevant namespace
|
|
90
|
+
* @param namespace - namespace for the UI annotations
|
|
91
|
+
* @param viewKey - view key: primary, secondary, or anything else; may also be undefined. The first visualization is taken in this case.
|
|
92
|
+
* @param visualizationType - allows to find the right visualization if there are many.
|
|
93
|
+
* @returns the value of the first fitting visualization
|
|
94
|
+
*/
|
|
95
|
+
function findTheRightVisualization(allVisualizations, alias, namespace, viewKey, visualizationType) {
|
|
96
|
+
var _a;
|
|
97
|
+
let visualization, visualizationObject, targetAnnotation;
|
|
98
|
+
if (allVisualizations) {
|
|
99
|
+
if (viewKey === 'primary') {
|
|
100
|
+
visualizationObject = allVisualizations.find((vis) => {
|
|
101
|
+
return vis['value'].indexOf('Chart') > -1;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
else if (viewKey === 'secondary') {
|
|
105
|
+
visualizationObject = allVisualizations.find((vis) => {
|
|
106
|
+
return vis['value'].indexOf(common_1.FacetBase.LineItem) > -1;
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
if (visualizationType) {
|
|
111
|
+
visualizationObject = allVisualizations.find((v) => v['value'].indexOf(visualizationType) > -1);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
visualizationObject = allVisualizations[0];
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
visualization = convertVisualization(visualizationObject === null || visualizationObject === void 0 ? void 0 : visualizationObject['value'], alias);
|
|
118
|
+
if ((_a = visualizationObject === null || visualizationObject === void 0 ? void 0 : visualizationObject['$target']) === null || _a === void 0 ? void 0 : _a.fullyQualifiedName) {
|
|
119
|
+
targetAnnotation = `/${namespace}/${visualizationObject['$target'].fullyQualifiedName.split(namespace)[1]}`;
|
|
120
|
+
}
|
|
121
|
+
else if (visualization) {
|
|
122
|
+
targetAnnotation = `/${namespace}/` + visualization.replace(`UI`, common_1.UIVOCABULARY);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return { visualization, targetAnnotation };
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* An annotationPath must be analyzed, to find the right target annotation and visualization
|
|
129
|
+
*
|
|
130
|
+
*/
|
|
131
|
+
function analyzeChartAnnotation(namespace, annotationPath, annotationAVT, viewKey) {
|
|
132
|
+
const visualization = '@UI.Chart';
|
|
133
|
+
const targetAnnotationFullName = `/${namespace}/@${annotationPath}`;
|
|
134
|
+
let chartTitle;
|
|
135
|
+
if (annotationAVT['Title']) {
|
|
136
|
+
chartTitle = annotationAVT['Title'];
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
chartTitle = `Chart View (${viewKey})`;
|
|
140
|
+
}
|
|
141
|
+
return { visualization, targetAnnotation: targetAnnotationFullName, chartTitle };
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* An annotationPath must be analyzed, to find the right target annotation and visualization
|
|
145
|
+
* @param annotationPath - given annotationPath
|
|
146
|
+
* @param uIAnnotations - annotations of UI namespace of the given entityType
|
|
147
|
+
* @param generateParameters - parameters required to generate app schema
|
|
148
|
+
* @param viewKey - allows to distinguish the different view types (LR or ALP)
|
|
149
|
+
* @param visualizationType - allows to find the right visualization if there are many.
|
|
150
|
+
* @returns { visualization: string describing the visualization of the annotation,
|
|
151
|
+
* targetAnnotation: the target annotation behind the visualization
|
|
152
|
+
* namespace: namespace of the annotation,
|
|
153
|
+
* title: title to be shown, derived from the annotation }
|
|
154
|
+
*/
|
|
155
|
+
function analyzeViewAnnotation(annotationPath, uIAnnotations, generateParameters, viewKey, visualizationType) {
|
|
156
|
+
let namespace = undefined, title;
|
|
157
|
+
const UILINEITEM = '@UI.LineItem';
|
|
158
|
+
const annotationInManifest = annotationPath === null || annotationPath === void 0 ? void 0 : annotationPath.split(`${common_1.UIVOCABULARY}.`)[1];
|
|
159
|
+
const annotationAVT = annotationInManifest && uIAnnotations[annotationInManifest];
|
|
160
|
+
if (!annotationAVT) {
|
|
161
|
+
return { visualization: undefined, targetAnnotation: undefined, namespace, title: `View (${viewKey})` };
|
|
162
|
+
}
|
|
163
|
+
title = annotationAVT.Text;
|
|
164
|
+
namespace = annotationAVT.fullyQualifiedName.split('@com.sap.vocabularies.UI.v1.')[0];
|
|
165
|
+
const alias = common_1.findAlias(common_1.UIVOCABULARY, generateParameters.serviceAVT);
|
|
166
|
+
if (annotationInManifest.startsWith('PresentationVariant')) {
|
|
167
|
+
const { visualization, targetAnnotation } = findTheRightVisualization(annotationAVT.Visualizations, alias, namespace, viewKey, visualizationType);
|
|
168
|
+
title = title || `View (${viewKey})`;
|
|
169
|
+
return { visualization, targetAnnotation, namespace, title };
|
|
170
|
+
}
|
|
171
|
+
else if (annotationInManifest.startsWith('SelectionPresentationVariant')) {
|
|
172
|
+
let { visualization, targetAnnotation } = findTheRightVisualization(annotationAVT.PresentationVariant.Visualizations, alias, namespace, viewKey, visualizationType);
|
|
173
|
+
if (!visualization) {
|
|
174
|
+
visualization = UILINEITEM; // default visualization
|
|
175
|
+
targetAnnotation = `/${namespace}/` + visualization.replace(`UI`, common_1.UIVOCABULARY); // default targetAnnotation
|
|
176
|
+
}
|
|
177
|
+
title = title || `View (${viewKey})`;
|
|
178
|
+
return { visualization, targetAnnotation, namespace, title };
|
|
179
|
+
}
|
|
180
|
+
else if (annotationInManifest.startsWith('SelectionVariant')) {
|
|
181
|
+
const visualization = UILINEITEM;
|
|
182
|
+
const targetAnnotation = `/${namespace}/@com.sap.vocabularies.UI.v1.LineItem`;
|
|
183
|
+
title = title || `Table View (${viewKey})`;
|
|
184
|
+
return { visualization, targetAnnotation, namespace, title };
|
|
185
|
+
}
|
|
186
|
+
else if (annotationInManifest.startsWith('LineItem')) {
|
|
187
|
+
const visualization = UILINEITEM;
|
|
188
|
+
const targetAnnotation = `/${namespace}/@${annotationPath}`;
|
|
189
|
+
title = title || `Table View (${viewKey})`;
|
|
190
|
+
return { visualization, targetAnnotation, namespace, title };
|
|
191
|
+
}
|
|
192
|
+
else if (annotationInManifest.startsWith('Chart')) {
|
|
193
|
+
const { visualization, targetAnnotation, chartTitle } = analyzeChartAnnotation(namespace, annotationPath, annotationAVT, viewKey);
|
|
194
|
+
return { visualization, targetAnnotation, namespace, title: chartTitle };
|
|
195
|
+
}
|
|
196
|
+
return { visualization: undefined, targetAnnotation: undefined, namespace, title: `View (${viewKey})` };
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Adds the ALP chart view to the app-specific schema
|
|
200
|
+
* @param {Definition} appSchema - app-specific JSON schema
|
|
201
|
+
* @param targetAnnotation - target annotation of the chart view, as determined by analyzeViewAnnotation
|
|
202
|
+
* @param annotations - UI annotations, as determined by AVT
|
|
203
|
+
*/
|
|
204
|
+
function addALPChartView(appSchema, chartAnnotationPath, targetAnnotation, annotations) {
|
|
205
|
+
const chartView = appSchema.definitions[common_1.DefinitionName.ALPChartView];
|
|
206
|
+
appSchema.definitions[common_1.DefinitionName.ALPChart] = JSON.parse(JSON.stringify(chartView));
|
|
207
|
+
delete appSchema.definitions[common_1.DefinitionName.ALPChart][common_1.SchemaTag.isViewNode];
|
|
208
|
+
if (targetAnnotation) {
|
|
209
|
+
appSchema.definitions[common_1.DefinitionName.ALPChart][common_1.SchemaTag.annotationPath] = targetAnnotation;
|
|
210
|
+
}
|
|
211
|
+
appSchema.definitions[common_1.DefinitionName.ALPChart].properties.annotationPath[common_1.SchemaTag.hidden] = true;
|
|
212
|
+
chartView.properties.annotationPath[common_1.SchemaTag.hidden] = true;
|
|
213
|
+
chartView.additionalProperties = false;
|
|
214
|
+
chartView.description = `Chart (key: primary)`;
|
|
215
|
+
chartView.title = `Chart`;
|
|
216
|
+
chartView.$ref = `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.ALPChart}`;
|
|
217
|
+
if (chartAnnotationPath) {
|
|
218
|
+
const viewAnnotation = chartAnnotationPath.split(common_1.UIVOCABULARYDOT)[1];
|
|
219
|
+
const pathParts = annotations[viewAnnotation].fullyQualifiedName.split('@');
|
|
220
|
+
chartView[common_1.SchemaTag.annotationPath] = `/${pathParts[0]}/@${pathParts[1]}`;
|
|
221
|
+
}
|
|
222
|
+
chartView[common_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
|
|
223
|
+
chartView[common_1.SchemaTag.key] = 'primary';
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Adds the ALP views to the app-specific schema
|
|
227
|
+
* @param {Definition} appSchema - app-specific JSON schema
|
|
228
|
+
* @param {Array<Object>} viewsPaths - views' paths' section in the manifest
|
|
229
|
+
* @param {EntityType} entityType - actual entity type of the page's entitySet
|
|
230
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
231
|
+
* @param templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
|
|
232
|
+
* @param {SapUiAppPageV4} v4Page - actual page in the manifest
|
|
233
|
+
*/
|
|
234
|
+
function addALPViews(appSchema, viewsPaths, entityType, generateParameters, templateAnnotation, v4Page, tableDefinitionName) {
|
|
235
|
+
var _a, _b, _c, _d, _e, _f;
|
|
236
|
+
const annotations = entityType.annotations.UI;
|
|
237
|
+
//1. Chart View
|
|
238
|
+
const chartAnnotationPath = (_c = (_b = (_a = viewsPaths === null || viewsPaths === void 0 ? void 0 : viewsPaths[0]) === null || _a === void 0 ? void 0 : _a['primary']) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c[common_1.SchemaTag.annotationPath];
|
|
239
|
+
const { targetAnnotation } = analyzeViewAnnotation(chartAnnotationPath, annotations, generateParameters, 'primary');
|
|
240
|
+
addALPChartView(appSchema, chartAnnotationPath, targetAnnotation, annotations);
|
|
241
|
+
// Copy toolbar
|
|
242
|
+
const schemaIdForActions = `Actions<ALPChart>`;
|
|
243
|
+
appSchema.definitions[common_1.DefinitionName.ViewChartToolBar].properties.actions['$ref'] =
|
|
244
|
+
common_1.DEFINITION_LINK_PREFIX + schemaIdForActions;
|
|
245
|
+
defineActions(appSchema, schemaIdForActions, annotations, targetAnnotation, entityType);
|
|
246
|
+
//2. Table View
|
|
247
|
+
const { visualization: tableVisualization, targetAnnotation: target } = analyzeViewAnnotation((_f = (_e = (_d = viewsPaths === null || viewsPaths === void 0 ? void 0 : viewsPaths[0]) === null || _d === void 0 ? void 0 : _d['secondary']) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f[common_1.SchemaTag.annotationPath], annotations, generateParameters, 'secondary');
|
|
248
|
+
const tableDefinition = appSchema.definitions[tableDefinitionName];
|
|
249
|
+
if (tableVisualization || templateAnnotation) {
|
|
250
|
+
tableDefinition.properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.ToolBarLR}`;
|
|
251
|
+
// Switch from generic column to specific definition
|
|
252
|
+
tableDefinition.properties['columns'] = {
|
|
253
|
+
$ref: common_1.DEFINITION_LINK_PREFIX + common_1.DefinitionName.LineItems
|
|
254
|
+
};
|
|
255
|
+
tableDefinition.properties.annotationPath[common_1.SchemaTag.hidden] = true;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
tableDefinition.properties = {};
|
|
259
|
+
}
|
|
260
|
+
const tableView = appSchema.definitions[common_1.DefinitionName.ALPTableView];
|
|
261
|
+
appSchema.definitions[common_1.DefinitionName.ALPTable] = JSON.parse(JSON.stringify(tableView));
|
|
262
|
+
delete appSchema.definitions[common_1.DefinitionName.ALPTable][common_1.SchemaTag.isViewNode];
|
|
263
|
+
tableView.additionalProperties = false;
|
|
264
|
+
tableView.description = `Table (key: secondary)`;
|
|
265
|
+
tableView.title = `Table`;
|
|
266
|
+
if (tableVisualization) {
|
|
267
|
+
delete tableView.properties;
|
|
268
|
+
tableView.$ref = `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.ALPTable}`;
|
|
269
|
+
}
|
|
270
|
+
else if (!templateAnnotation) {
|
|
271
|
+
tableView.properties = {};
|
|
272
|
+
}
|
|
273
|
+
tableView[common_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
|
|
274
|
+
let annotationTerm, viewAnnotation;
|
|
275
|
+
if (tableVisualization && tableVisualization.indexOf(common_1.FacetBase.LineItem) > -1) {
|
|
276
|
+
annotationTerm = tableVisualization.split('.')[1];
|
|
277
|
+
viewAnnotation = viewsPaths[0]['secondary'][0].annotationPath.split(common_1.UIVOCABULARYDOT)[1];
|
|
278
|
+
}
|
|
279
|
+
else if (templateAnnotation) {
|
|
280
|
+
annotationTerm = viewAnnotation = templateAnnotation.split(common_1.UIVOCABULARYDOT)[1];
|
|
281
|
+
}
|
|
282
|
+
if (annotationTerm) {
|
|
283
|
+
utils_1.addLineItemsType(appSchema, entityType.annotations.UI[annotationTerm], entityType, generateParameters.serviceAVT, common_1.DefinitionName.LineItems, common_1.DefinitionName.ViewTableColumn);
|
|
284
|
+
appSchema.definitions[common_1.DefinitionName.ALPTable][common_1.SchemaTag.annotationPath] = target;
|
|
285
|
+
const pathParts = annotations[viewAnnotation].fullyQualifiedName.split('@');
|
|
286
|
+
tableView[common_1.SchemaTag.annotationPath] = `/${pathParts[0]}/@${pathParts[1]}`;
|
|
287
|
+
tableView[common_1.SchemaTag.key] = 'secondary';
|
|
288
|
+
}
|
|
289
|
+
utils_1.addCustomColumnDefinition(appSchema, v4Page, generateParameters.logger);
|
|
290
|
+
// Table toolbar actions with custom actions
|
|
291
|
+
const schemaIdForToolbarActions = `${common_1.DefinitionName.Actions}<${common_1.prepareRef(common_1.DefinitionName.LineItems)}>`;
|
|
292
|
+
utils_1.addCustomActionDefinition(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForToolbarActions);
|
|
293
|
+
utils_1.addEnumForActionAnchor(appSchema, schemaIdForToolbarActions, common_1.DefinitionName.CustomActionPosition);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Modifies the app schema, adds the right line chart settings
|
|
297
|
+
* @param inputParameters - list of input parameters as collected by the calling instance
|
|
298
|
+
* @param annotations - UI annotations of the given entityType
|
|
299
|
+
* @returns the ID for the chart view in schema
|
|
300
|
+
*/
|
|
301
|
+
function addViewChartDefinitions(inputParameters, annotations) {
|
|
302
|
+
const idForChart = `${common_1.DefinitionName.LRChartView}<${inputParameters.viewKey}>`;
|
|
303
|
+
inputParameters.appSchema.definitions[idForChart] = JSON.parse(JSON.stringify(inputParameters.appSchema.definitions[common_1.DefinitionName.LRChartView]));
|
|
304
|
+
delete inputParameters.appSchema.definitions[idForChart][common_1.SchemaTag.isViewNode];
|
|
305
|
+
inputParameters.appSchema.definitions[idForChart][common_1.SchemaTag.annotationPath] = inputParameters.targetAnnotation;
|
|
306
|
+
if (inputParameters.navPropName) {
|
|
307
|
+
inputParameters.appSchema.definitions[idForChart]['navigationProperty'] = inputParameters.navPropName;
|
|
308
|
+
}
|
|
309
|
+
//Copy toolbar
|
|
310
|
+
const idForToolbar = `${common_1.DefinitionName.ViewChartToolBar}<${inputParameters.viewKey}>`;
|
|
311
|
+
inputParameters.appSchema.definitions[idForToolbar] = JSON.parse(JSON.stringify(inputParameters.appSchema.definitions[common_1.DefinitionName.ViewChartToolBar]));
|
|
312
|
+
inputParameters.appSchema.definitions[idForChart]['properties'].toolBar.$ref = `${common_1.DEFINITION_LINK_PREFIX}${idForToolbar}`;
|
|
313
|
+
//Copy actions
|
|
314
|
+
const schemaIdForActions = `${common_1.DefinitionName.Actions}<${inputParameters.viewKey}>`;
|
|
315
|
+
defineActions(inputParameters.appSchema, schemaIdForActions, annotations, inputParameters.targetAnnotation, inputParameters.targetEntityType);
|
|
316
|
+
inputParameters.appSchema.definitions[idForToolbar]['properties'][common_1.PropertyName.actions]['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${schemaIdForActions}`;
|
|
317
|
+
return idForChart;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Adds the definition of a chart view to the app schema
|
|
321
|
+
* @param inputParameters - list of input parameters as collected by the calling instance
|
|
322
|
+
* @param UIAnnotations - AVT UI annotations of the given entity type
|
|
323
|
+
* @param appSchema - app schema
|
|
324
|
+
* @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
|
|
325
|
+
* @param viewKey - view key
|
|
326
|
+
* @param title - view title
|
|
327
|
+
*/
|
|
328
|
+
function addViewChart(inputParameters, UIAnnotations, appSchema, viewsDefinition, viewKey, title) {
|
|
329
|
+
const idForChart = addViewChartDefinitions(inputParameters, UIAnnotations);
|
|
330
|
+
appSchema.definitions[idForChart].properties.annotationPath[common_1.SchemaTag.hidden] = true;
|
|
331
|
+
appSchema.definitions[idForChart].properties.index[common_1.SchemaTag.hidden] = true;
|
|
332
|
+
appSchema.definitions[idForChart].properties.entitySet[common_1.SchemaTag.hidden] = true;
|
|
333
|
+
const titleOnHover = `Chart View (key: ${viewKey})`;
|
|
334
|
+
viewsDefinition.properties[viewKey] = {
|
|
335
|
+
$ref: `${common_1.DEFINITION_LINK_PREFIX}${idForChart}`,
|
|
336
|
+
description: title ? title : titleOnHover,
|
|
337
|
+
title: titleOnHover
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Modifies the app schema, adds the right line item settings as derived from the visualization
|
|
342
|
+
* @param inputParameters - list of input parameters as collected by the calling instance
|
|
343
|
+
* @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
|
|
344
|
+
* @param visualization - visualization from the given (S)PV
|
|
345
|
+
* @param templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
|
|
346
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
347
|
+
*/
|
|
348
|
+
function addViewLineItems(inputParameters, viewsDefinition, visualization, templateAnnotation, generateParameters) {
|
|
349
|
+
const tableId = `${common_1.DefinitionName.LRTableView}<${inputParameters.viewKey}>`;
|
|
350
|
+
const viewId = `${common_1.DefinitionName.LineItemsOfView}::${inputParameters.viewKey}`;
|
|
351
|
+
const lrTableView = common_1.parseSchemaDefinition(common_1.DefinitionName.LRTableView, inputParameters.viewKey, inputParameters.appSchema);
|
|
352
|
+
delete lrTableView[common_1.SchemaTag.isViewNode];
|
|
353
|
+
lrTableView[common_1.SchemaTag.annotationPath] = inputParameters.targetAnnotation;
|
|
354
|
+
if (inputParameters.navPropName) {
|
|
355
|
+
lrTableView['navigationProperty'] = inputParameters.navPropName;
|
|
356
|
+
}
|
|
357
|
+
//Copy toolbar
|
|
358
|
+
common_1.addDefinitionRef(lrTableView.properties.toolBar, common_1.DefinitionName.ToolBar, viewId);
|
|
359
|
+
const title = `Table View (key: ${inputParameters.viewKey})`;
|
|
360
|
+
viewsDefinition.properties[inputParameters.viewKey] = {
|
|
361
|
+
$ref: `${common_1.DEFINITION_LINK_PREFIX}${tableId}`,
|
|
362
|
+
description: inputParameters.title || title,
|
|
363
|
+
title
|
|
364
|
+
};
|
|
365
|
+
common_1.addDefinitionRef(lrTableView.properties.columns, viewId);
|
|
366
|
+
lrTableView.properties.annotationPath[common_1.SchemaTag.hidden] = true;
|
|
367
|
+
lrTableView.properties.index[common_1.SchemaTag.hidden] = true;
|
|
368
|
+
lrTableView.properties.entitySet[common_1.SchemaTag.hidden] = true;
|
|
369
|
+
const annotationTerm = (visualization === null || visualization === void 0 ? void 0 : visualization.split('.')[1]) || templateAnnotation.split(common_1.UIVOCABULARYDOT)[1];
|
|
370
|
+
utils_1.addLineItemsType(inputParameters.appSchema, inputParameters.targetEntityType.annotations.UI[annotationTerm], inputParameters.targetEntityType, generateParameters.serviceAVT, viewId, common_1.DefinitionName.ViewTableColumn, common_1.DefinitionName.ViewCustomColumn, common_1.DefinitionName.ViewCustomAction);
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Adds the schema tags to a given view
|
|
374
|
+
* @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
|
|
375
|
+
* @param viewKey - key property of the view
|
|
376
|
+
* @param namespace - target namespace for annotations
|
|
377
|
+
* @param view - the given view
|
|
378
|
+
*/
|
|
379
|
+
function addTagsToView(viewsDefinition, viewKey, namespace, view) {
|
|
380
|
+
viewsDefinition.properties[viewKey][common_1.SchemaTag.isViewNode] = true;
|
|
381
|
+
viewsDefinition.properties[viewKey][common_1.SchemaTag.annotationPath] = namespace
|
|
382
|
+
? `/${namespace}/@${view[common_1.SchemaTag.annotationPath]}`
|
|
383
|
+
: undefined;
|
|
384
|
+
viewsDefinition.properties[viewKey][common_1.SchemaTag.artifactType] = ux_specification_types_1.ArtifactType.Manifest;
|
|
385
|
+
viewsDefinition.properties[viewKey][common_1.SchemaTag.key] = viewKey;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Adjusts the entity type if a different entity set is maintained for a view
|
|
389
|
+
* @param {EntitySet} entitySet - actual entity set (AVT information)
|
|
390
|
+
* @param view - the current view in manifest
|
|
391
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
392
|
+
* @param {EntityType} entityType - actual entity type of the page's entitySet
|
|
393
|
+
* @returns the target entity type
|
|
394
|
+
*/
|
|
395
|
+
function getTargetEntityType(entitySet, view, generateParameters, entityType) {
|
|
396
|
+
let targetEntityType = entityType;
|
|
397
|
+
let viewEntitySet = entitySet;
|
|
398
|
+
if (view['entitySet'] && view['entitySet'] !== entitySet.name) {
|
|
399
|
+
viewEntitySet = generateParameters.serviceAVT.entitySets.find((es) => {
|
|
400
|
+
return es.name === view['entitySet'];
|
|
401
|
+
});
|
|
402
|
+
targetEntityType = viewEntitySet.entityType;
|
|
403
|
+
}
|
|
404
|
+
return targetEntityType;
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Adds view custom extensions - custom column and custom action definitions
|
|
408
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
409
|
+
* @param {object} commonInputParameters - list of input parameters as collected by the calling instance
|
|
410
|
+
* @param {string} visualization - visualization of the annotation
|
|
411
|
+
* @param {SapUiAppPageV4} v4Page - the given page in manifest
|
|
412
|
+
*/
|
|
413
|
+
function addViewCustomExtensions(commonInputParameters, generateParameters, visualization, v4Page) {
|
|
414
|
+
const sectionId = `${common_1.DefinitionName.LineItemsOfView}::${commonInputParameters.viewKey}`;
|
|
415
|
+
const navigationProperty = commonInputParameters.navPropName ? `${commonInputParameters.navPropName}/` : '';
|
|
416
|
+
const sectionIdInManifest = `${navigationProperty}@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}${visualization.split(ux_specification_types_1.Visualization.LineItem)[1]}`;
|
|
417
|
+
const viewColumnDefinition = common_1.parseSchemaDefinition(common_1.DefinitionName.ViewCustomColumn, sectionId, commonInputParameters.appSchema);
|
|
418
|
+
common_1.addDefinitionRef(viewColumnDefinition.properties.position, common_1.DefinitionName.ViewPosition, sectionId);
|
|
419
|
+
common_1.parseSchemaDefinition(common_1.DefinitionName.ViewPosition, sectionId, commonInputParameters.appSchema);
|
|
420
|
+
utils_1.addCustomColumnDefinition(commonInputParameters.appSchema, v4Page, generateParameters.logger, `${common_1.DefinitionName.ViewCustomColumn}<${sectionId}>`, sectionId, sectionIdInManifest);
|
|
421
|
+
utils_1.addFragmentEnumForAnchor(commonInputParameters.appSchema, sectionId, v4Page, `${common_1.DefinitionName.ViewPosition}<${sectionId}>`, sectionIdInManifest);
|
|
422
|
+
// Remove generic position
|
|
423
|
+
if (commonInputParameters.appSchema.definitions.Position) {
|
|
424
|
+
delete commonInputParameters.appSchema.definitions.Position;
|
|
425
|
+
delete commonInputParameters.appSchema.definitions.TableCustomColumn;
|
|
426
|
+
}
|
|
427
|
+
// Table toolbar actions with custom actions
|
|
428
|
+
const schemaIdForToolbarActions = `${common_1.DefinitionName.Actions}<${sectionId}>`;
|
|
429
|
+
const customActionDefinitionKey = `${common_1.DefinitionName.ViewCustomAction}<${sectionId}>`;
|
|
430
|
+
utils_1.addCustomActionDefinition(commonInputParameters.appSchema, v4Page, generateParameters.logger, customActionDefinitionKey, schemaIdForToolbarActions, sectionIdInManifest);
|
|
431
|
+
// Anchor selection
|
|
432
|
+
common_1.parseSchemaDefinition(common_1.DefinitionName.ViewCustomActionPosition, sectionId, commonInputParameters.appSchema);
|
|
433
|
+
const customActionPositionDefinitionKey = `${common_1.DefinitionName.ViewCustomActionPosition}<${sectionId}>`;
|
|
434
|
+
const customActionDefinition = commonInputParameters.appSchema.definitions[customActionDefinitionKey];
|
|
435
|
+
customActionDefinition.properties.position.$ref = `${common_1.DEFINITION_LINK_PREFIX}${customActionPositionDefinitionKey}`;
|
|
436
|
+
utils_1.addEnumForActionAnchor(commonInputParameters.appSchema, schemaIdForToolbarActions, customActionPositionDefinitionKey);
|
|
437
|
+
// Remove generic position
|
|
438
|
+
if (commonInputParameters.appSchema.definitions.CustomActionPosition) {
|
|
439
|
+
delete commonInputParameters.appSchema.definitions.CustomActionPosition;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Adds definition parts to a LR View (LineItem/Chart)
|
|
444
|
+
* @param {string} templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
|
|
445
|
+
* @param {string} visualization - visualization of the annotation
|
|
446
|
+
* @param viewsDefinition - the views definition in app schema (MultiTableModeV4)
|
|
447
|
+
* @param {object} commonInputParameters - list of input parameters as collected by the calling instance
|
|
448
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
449
|
+
* @param {SapUiAppPageV4} v4Page - the given page in manifest
|
|
450
|
+
* @param uiAnnotations - UI annotations of the given entityType
|
|
451
|
+
* @paran view - the given view
|
|
452
|
+
*/
|
|
453
|
+
function addLRViewParts(visualization, viewsDefinition, commonInputParameters, generateParameters, v4Page, uiAnnotations, view) {
|
|
454
|
+
if ((visualization === null || visualization === void 0 ? void 0 : visualization.indexOf(ux_specification_types_1.Visualization.LineItem)) > -1) {
|
|
455
|
+
//Add Line item view
|
|
456
|
+
addViewLineItems(commonInputParameters, viewsDefinition, visualization, commonInputParameters.targetAnnotation, generateParameters);
|
|
457
|
+
addViewCustomExtensions(commonInputParameters, generateParameters, visualization, v4Page);
|
|
458
|
+
}
|
|
459
|
+
else if ((visualization === null || visualization === void 0 ? void 0 : visualization.indexOf('Chart')) > -1) {
|
|
460
|
+
//Add Chart view
|
|
461
|
+
addViewChart(commonInputParameters, uiAnnotations, commonInputParameters.appSchema, viewsDefinition, commonInputParameters.viewKey, commonInputParameters.title);
|
|
462
|
+
}
|
|
463
|
+
else if (view['template']) {
|
|
464
|
+
const titleOnHover = view['label'] || `Custom View (key: ${commonInputParameters.viewKey})`;
|
|
465
|
+
viewsDefinition.properties[commonInputParameters.viewKey] = {
|
|
466
|
+
description: commonInputParameters.title || titleOnHover,
|
|
467
|
+
title: titleOnHover,
|
|
468
|
+
// Default view - use table view reference as default
|
|
469
|
+
$ref: `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.TableViewExtension}`
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
else {
|
|
473
|
+
const titleOnHover = `View (key: ${commonInputParameters.viewKey})`;
|
|
474
|
+
viewsDefinition.properties[commonInputParameters.viewKey] = {
|
|
475
|
+
description: commonInputParameters.title || titleOnHover,
|
|
476
|
+
title: titleOnHover,
|
|
477
|
+
// Default view - use table view reference as default
|
|
478
|
+
$ref: `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.LRTableView}`
|
|
479
|
+
};
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Add list report views to the app-specific schema
|
|
484
|
+
* @param {Definition} appSchema - app-specific JSON schema
|
|
485
|
+
* @param {Array<Object>} viewsPaths - views' paths' section in the manifest
|
|
486
|
+
* @param {EntityType} entityType - actual entity type of the page's entitySet
|
|
487
|
+
* @param {EntitySet} entitySet - actual entity set (AVT information)
|
|
488
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
489
|
+
* @param {string} templateAnnotation - defaultTemplateAnnotationPath as registered in manifest
|
|
490
|
+
* @param {SapUiAppPageV4} v4Page - the given page in manifest
|
|
491
|
+
*/
|
|
492
|
+
function addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParameters, v4Page, tableDefinitionName) {
|
|
493
|
+
var _a;
|
|
494
|
+
const tableDefinition = appSchema.definitions[tableDefinitionName];
|
|
495
|
+
tableDefinition.properties = {
|
|
496
|
+
annotationPath: tableDefinition.properties.annotationPath,
|
|
497
|
+
initialLoad: tableDefinition.properties.initialLoad,
|
|
498
|
+
views: tableDefinition.properties.views
|
|
499
|
+
};
|
|
500
|
+
const viewsDefinition = appSchema.definitions.MultiTableModeV4;
|
|
501
|
+
for (const view of viewsPaths) {
|
|
502
|
+
if (!view[common_1.SchemaTag.key]) {
|
|
503
|
+
continue;
|
|
504
|
+
}
|
|
505
|
+
let navPropName = undefined;
|
|
506
|
+
const targetEntityType = getTargetEntityType(entitySet, view, generateParameters, entityType);
|
|
507
|
+
const uiAnnotations = targetEntityType.annotations.UI;
|
|
508
|
+
const { visualization, targetAnnotation, namespace, title } = analyzeViewAnnotation(view === null || view === void 0 ? void 0 : view[common_1.SchemaTag.annotationPath], uiAnnotations, generateParameters, view[common_1.SchemaTag.key]);
|
|
509
|
+
if (view['entitySet']) {
|
|
510
|
+
navPropName = (_a = entityType.navigationProperties.find((np) => {
|
|
511
|
+
return np.targetTypeName === namespace;
|
|
512
|
+
})) === null || _a === void 0 ? void 0 : _a.name;
|
|
513
|
+
}
|
|
514
|
+
const viewKey = common_1.prepareRef(view[common_1.SchemaTag.key]);
|
|
515
|
+
const commonInputParameters = {
|
|
516
|
+
viewKey,
|
|
517
|
+
appSchema,
|
|
518
|
+
targetAnnotation,
|
|
519
|
+
navPropName,
|
|
520
|
+
targetEntityType,
|
|
521
|
+
title
|
|
522
|
+
};
|
|
523
|
+
addLRViewParts(visualization, viewsDefinition, commonInputParameters, generateParameters, v4Page, uiAnnotations, view);
|
|
524
|
+
addTagsToView(viewsDefinition, viewKey, namespace, view);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Adapts the table definition in schema.
|
|
529
|
+
* Evaluates the path depending on if defaultTemplateAnnotationPath or Selection-/PresentationVariant is present.
|
|
530
|
+
* @param {SapUiAppPageV4} v4Page - the given page in manifest
|
|
531
|
+
* @param {EntityType} entityType - the current entity type, as defined in AVT
|
|
532
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
533
|
+
* @param appSchema - the app-specific JSON schema
|
|
534
|
+
* @param alias - alias definition for the UI vocabulary
|
|
535
|
+
*/
|
|
536
|
+
function adaptTableDefinition(appSchema, entityType, generateParameters, templateAnnotation, v4Page, alias, tableDefinitionName) {
|
|
537
|
+
var _a, _b, _c;
|
|
538
|
+
//here: tableDefinitionName = DefinitionName.Table
|
|
539
|
+
const tableDefinition = appSchema.definitions[tableDefinitionName];
|
|
540
|
+
const { visualization, targetAnnotation, namespace } = analyzeViewAnnotation(templateAnnotation, entityType.annotations.UI, generateParameters, undefined, ux_specification_types_1.Visualization.LineItem);
|
|
541
|
+
if (visualization) {
|
|
542
|
+
const annotationTerm = visualization.split('.')[1];
|
|
543
|
+
const annotationTermInSchema = `${common_1.DefinitionName.LineItems}OfSPV::${common_1.prepareRef(annotationTerm)}`;
|
|
544
|
+
const spvTable = (appSchema.definitions[`${tableDefinitionName}SPV`] = JSON.parse(JSON.stringify(appSchema.definitions[tableDefinitionName])));
|
|
545
|
+
delete spvTable[common_1.SchemaTag.isViewNode];
|
|
546
|
+
common_1.addDefinitionRef(spvTable.properties.toolBar, common_1.DefinitionName.ToolBar, annotationTermInSchema);
|
|
547
|
+
// Switch from generic column to specific definition
|
|
548
|
+
spvTable[common_1.SchemaTag.annotationPath] = targetAnnotation;
|
|
549
|
+
spvTable.properties.columns = {};
|
|
550
|
+
common_1.addDefinitionRef(spvTable.properties.columns, annotationTermInSchema);
|
|
551
|
+
delete tableDefinition.properties;
|
|
552
|
+
common_1.addDefinitionRef(tableDefinition, `${tableDefinitionName}SPV`);
|
|
553
|
+
tableDefinition[common_1.SchemaTag.annotationPath] = `/${namespace}/@${templateAnnotation}`;
|
|
554
|
+
const lineItemAnnotation = entityType.annotations.UI[annotationTerm];
|
|
555
|
+
utils_1.addLineItemsType(appSchema, lineItemAnnotation, entityType, generateParameters.serviceAVT, annotationTermInSchema);
|
|
556
|
+
const annotationTermQualifier = (_a = annotationTerm.split('#')) === null || _a === void 0 ? void 0 : _a[1];
|
|
557
|
+
const sectionIdInManifest = annotationTermQualifier
|
|
558
|
+
? `@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}#${annotationTermQualifier}`
|
|
559
|
+
: `@${"com.sap.vocabularies.UI.v1.LineItem" /* LineItem */}`;
|
|
560
|
+
utils_1.addCustomColumnDefinition(appSchema, v4Page, generateParameters.logger, undefined, annotationTermInSchema, sectionIdInManifest);
|
|
561
|
+
utils_1.addFragmentEnumForAnchor(appSchema, annotationTermInSchema, v4Page, undefined, sectionIdInManifest);
|
|
562
|
+
// Table toolbar actions with custom actions
|
|
563
|
+
const schemaIdForToolbarActions = `${common_1.DefinitionName.Actions}<${annotationTermInSchema}>`;
|
|
564
|
+
const customColumnDefinitionName = common_1.getCustomExtensionDefinitionName(appSchema, annotationTermInSchema, common_1.DefinitionName.CustomAction);
|
|
565
|
+
utils_1.addCustomActionDefinition(appSchema, v4Page, generateParameters.logger, common_1.getDefinitionKey(customColumnDefinitionName), schemaIdForToolbarActions, sectionIdInManifest);
|
|
566
|
+
utils_1.addEnumForActionAnchor(appSchema, schemaIdForToolbarActions, common_1.DefinitionName.CustomActionPosition);
|
|
567
|
+
}
|
|
568
|
+
else {
|
|
569
|
+
tableDefinition.properties.toolBar['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}${common_1.DefinitionName.ToolBarLR}`;
|
|
570
|
+
// Switch from generic column to specific definition
|
|
571
|
+
common_1.addDefinitionRef(tableDefinition.properties.columns, common_1.DefinitionName.LineItems);
|
|
572
|
+
const lineItemAnnotation = (_c = (_b = entityType === null || entityType === void 0 ? void 0 : entityType.annotations) === null || _b === void 0 ? void 0 : _b[alias]) === null || _c === void 0 ? void 0 : _c.LineItem;
|
|
573
|
+
utils_1.addLineItemsType(appSchema, lineItemAnnotation, entityType, generateParameters.serviceAVT, common_1.DefinitionName.LineItems);
|
|
574
|
+
utils_1.addCustomColumnDefinition(appSchema, v4Page, generateParameters.logger);
|
|
575
|
+
utils_1.addFragmentEnumForAnchor(appSchema, common_1.DefinitionName.LineItems, v4Page);
|
|
576
|
+
if (lineItemAnnotation) {
|
|
577
|
+
tableDefinition[common_1.SchemaTag.annotationPath] = common_1.createAnnotationPath(entityType.fullyQualifiedName, lineItemAnnotation.term, lineItemAnnotation.qualifier);
|
|
578
|
+
}
|
|
579
|
+
// Table toolbar actions with custom actions
|
|
580
|
+
const schemaIdForActions = `${common_1.DefinitionName.Actions}<${common_1.prepareRef(common_1.DefinitionName.LineItems)}>`;
|
|
581
|
+
utils_1.addCustomActionDefinition(appSchema, v4Page, generateParameters.logger, undefined, schemaIdForActions);
|
|
582
|
+
utils_1.addEnumForActionAnchor(appSchema, schemaIdForActions, common_1.DefinitionName.CustomActionPosition);
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Checks for the default annotation path to use for LR table
|
|
587
|
+
* @param {SapUiAppPageV4} v4Page - actual page in the manifest
|
|
588
|
+
* @param {EntityType} entityType - actual entity type (AVT information)
|
|
589
|
+
* @returns {string} annotation term
|
|
590
|
+
*/
|
|
591
|
+
function getDefaultAnnotationPath(v4Page, entityType, templateType) {
|
|
592
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
593
|
+
if (((_b = (_a = v4Page.options.settings) === null || _a === void 0 ? void 0 : _a.views) === null || _b === void 0 ? void 0 : _b.paths) && templateType === common_1.TemplateType.ListReportObjectPageV4) {
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
596
|
+
if ((_c = v4Page.options.settings) === null || _c === void 0 ? void 0 : _c.defaultTemplateAnnotationPath) {
|
|
597
|
+
return v4Page.options.settings.defaultTemplateAnnotationPath;
|
|
598
|
+
}
|
|
599
|
+
if (templateType === common_1.TemplateType.ListReportObjectPageV4) {
|
|
600
|
+
return (((_e = (_d = entityType.annotations.UI) === null || _d === void 0 ? void 0 : _d.SelectionPresentationVariant) === null || _e === void 0 ? void 0 : _e.term) || ((_g = (_f = entityType.annotations.UI) === null || _f === void 0 ? void 0 : _f.PresentationVariant) === null || _g === void 0 ? void 0 : _g.term));
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* Add views to schema (LR or ALP)
|
|
605
|
+
* @param {Definition} appSchema - app-specific JSON schema
|
|
606
|
+
* @param {SapUiAppPageV4} v4Page - actual page in the manifest
|
|
607
|
+
* @param {EntityType} entityType - actual entity type (AVT information)
|
|
608
|
+
* @param {EntitySet} entitySet - actual entity set (AVT information)
|
|
609
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
610
|
+
*/
|
|
611
|
+
function addTableAndViews(appSchema, v4Page, entityType, entitySet, generateParameters, alias) {
|
|
612
|
+
var _a, _b, _c, _d, _e;
|
|
613
|
+
const viewsPaths = (_c = (_b = (_a = v4Page.options) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.views) === null || _c === void 0 ? void 0 : _c.paths;
|
|
614
|
+
const defaultAnnotation = getDefaultAnnotationPath(v4Page, entityType, generateParameters.templateType);
|
|
615
|
+
const tableDefinitionName = utils_1.alignSchemaWithTemplateType(appSchema, generateParameters);
|
|
616
|
+
if (generateParameters.templateType === common_1.TemplateType.ListReportObjectPageV4) {
|
|
617
|
+
if (viewsPaths) {
|
|
618
|
+
addLRViews(appSchema, viewsPaths, entityType, entitySet, generateParameters, v4Page, tableDefinitionName);
|
|
619
|
+
}
|
|
620
|
+
else {
|
|
621
|
+
if (!((_e = (_d = v4Page.options) === null || _d === void 0 ? void 0 : _d.settings) === null || _e === void 0 ? void 0 : _e.views)) {
|
|
622
|
+
appSchema.definitions.MultiTableModeV4.properties = {};
|
|
623
|
+
}
|
|
624
|
+
adaptTableDefinition(appSchema, entityType, generateParameters, defaultAnnotation, v4Page, alias, tableDefinitionName);
|
|
625
|
+
}
|
|
626
|
+
appSchema.properties[common_1.PropertyName.chart][common_1.SchemaTag.hidden] = true;
|
|
627
|
+
}
|
|
628
|
+
else if (generateParameters.templateType === common_1.TemplateType.AnalyticalListPageV4) {
|
|
629
|
+
addALPViews(appSchema, viewsPaths, entityType, generateParameters, defaultAnnotation, v4Page, tableDefinitionName);
|
|
630
|
+
utils_1.addFragmentEnumForAnchor(appSchema, common_1.DefinitionName.LineItems, v4Page);
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Generates an app specific schema for the FE V4 ListReport from the generic schema.
|
|
635
|
+
* Generic types are replaced by information from the app specific annotations.
|
|
636
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
637
|
+
* @param genericSchema - generic JSON schema of an object page
|
|
638
|
+
* @param {EntitySet} entitySet - entity set (AVT object) that is relevant for the given page
|
|
639
|
+
* @param {string} templateName - allows to distinguish list report from ALP
|
|
640
|
+
*
|
|
641
|
+
* @returns {object} application-specific schema of the list report
|
|
642
|
+
*/
|
|
643
|
+
function generateListReportSchemaV4(generateParameters, genericSchema, entitySet, templateName) {
|
|
644
|
+
var _a, _b;
|
|
645
|
+
const appSchema = JSON.parse(JSON.stringify(genericSchema));
|
|
646
|
+
const entityType = entitySet === null || entitySet === void 0 ? void 0 : entitySet.entityType;
|
|
647
|
+
const alias = generateParameters.serviceAVT && common_1.findAlias(common_1.UIVOCABULARY, generateParameters.serviceAVT);
|
|
648
|
+
//Add selection fields
|
|
649
|
+
const selectionFieldAnnotation = alias && ((_b = (_a = entityType === null || entityType === void 0 ? void 0 : entityType.annotations) === null || _a === void 0 ? void 0 : _a[alias]) === null || _b === void 0 ? void 0 : _b.SelectionFields);
|
|
650
|
+
addSelectionFields(entityType, appSchema, selectionFieldAnnotation);
|
|
651
|
+
appSchema.properties[common_1.PropertyName.defaultTemplateAnnotationPath][common_1.SchemaTag.hidden] = true;
|
|
652
|
+
//enum for annotation path as part of QuickVariantSelection
|
|
653
|
+
common_1.addEnumForSingleTabVariant(entityType, appSchema, common_1.DefinitionName.AnnotationPathAsObject);
|
|
654
|
+
if (generateParameters.manifest) {
|
|
655
|
+
//Find page in targets
|
|
656
|
+
const pages = generateParameters.manifest[ux_specification_types_1.ManifestSection.ui5].routing
|
|
657
|
+
.targets;
|
|
658
|
+
if (!pages) {
|
|
659
|
+
extensionLogger_1.log(generateParameters.logger, {
|
|
660
|
+
severity: "error" /* Error */,
|
|
661
|
+
message: i18next_1.default.t('NOPAGES', { appId: generateParameters.manifest['sap.app']['id'] }),
|
|
662
|
+
location: {
|
|
663
|
+
path: common_1.MANIFESTPATH,
|
|
664
|
+
range: [ux_specification_types_1.ManifestSection.generic]
|
|
665
|
+
}
|
|
666
|
+
});
|
|
667
|
+
return appSchema;
|
|
668
|
+
}
|
|
669
|
+
const v4Page = utils_1.findPageV4(pages, templateName, entitySet, generateParameters.logger);
|
|
670
|
+
if (!v4Page) {
|
|
671
|
+
return appSchema;
|
|
672
|
+
}
|
|
673
|
+
addTableAndViews(appSchema, v4Page, entityType, entitySet, generateParameters, alias);
|
|
674
|
+
}
|
|
675
|
+
delete appSchema.definitions.GenericColumns;
|
|
676
|
+
delete appSchema.definitions.Action;
|
|
677
|
+
return appSchema;
|
|
678
|
+
}
|
|
679
|
+
exports.generateListReportSchemaV4 = generateListReportSchemaV4;
|
|
680
|
+
//# sourceMappingURL=listReport.js.map
|