@sap/ux-specification 1.96.20 → 1.96.24
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 +5 -9623
- package/dist/documentation/runDocu-min.js.map +1 -1
- package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
- package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
- package/dist/documentation/v2/v2-ListReport.html +1 -1
- package/dist/documentation/v2/v2-ObjectPage.html +1 -1
- package/dist/documentation/v2/v2-OverviewPage.html +1 -1
- package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
- package/dist/documentation/v4/v4-FreestylePage.html +1 -1
- package/dist/documentation/v4/v4-ListReport.html +1 -1
- package/dist/documentation/v4/v4-ObjectPage.html +1 -1
- package/dist/index-min.js +83 -30542
- package/dist/index-min.js.map +3 -3
- package/dist/schemas/v2/AnalyticalListPageConfig.json +11 -8
- package/dist/schemas/v2/ListReportConfig.json +132 -129
- package/dist/schemas/v4/ApplicationV4.json +26 -0
- package/dist/schemas/v4/ListReportConfig.json +21 -22
- package/dist/schemas/v4/ObjectPageConfig.json +1 -2
- package/dist/scripts/extractDocu.d.ts +2 -0
- package/dist/scripts/extractDocu.d.ts.map +1 -0
- package/dist/scripts/extractDocu.js +507 -0
- package/dist/scripts/extractDocu.js.map +1 -0
- package/dist/scripts/runDocu.d.ts +2 -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 +2 -0
- package/dist/scripts/spec.d.ts.map +1 -0
- package/dist/scripts/spec.js +113 -0
- package/dist/scripts/spec.js.map +1 -0
- package/dist/scripts/to-json-schema.d.ts +11 -0
- package/dist/scripts/to-json-schema.d.ts.map +1 -0
- package/dist/scripts/to-json-schema.js +146 -0
- package/dist/scripts/to-json-schema.js.map +1 -0
- package/dist/{types → src}/api.d.ts +1 -1
- package/dist/{types → src}/api.d.ts.map +1 -1
- package/dist/src/api.js +191 -0
- package/dist/src/api.js.map +1 -0
- package/dist/{types → src}/apiTypes.d.ts +17 -21
- package/dist/src/apiTypes.d.ts.map +1 -0
- package/dist/src/apiTypes.js +25 -0
- package/dist/src/apiTypes.js.map +1 -0
- package/dist/{types → src}/extensionLogger.d.ts +1 -1
- package/dist/{types → src}/extensionLogger.d.ts.map +1 -1
- package/dist/src/extensionLogger.js +41 -0
- package/dist/src/extensionLogger.js.map +1 -0
- package/dist/{types → src}/i18n/i18n.d.ts +0 -0
- package/dist/{types → src}/i18n/i18n.d.ts.map +0 -0
- package/dist/src/i18n/i18n.js +26 -0
- package/dist/src/i18n/i18n.js.map +1 -0
- package/dist/{types → src}/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +20 -0
- package/dist/src/index.js.map +1 -0
- package/dist/{types → src}/project.d.ts +2 -1
- package/dist/src/project.d.ts.map +1 -0
- package/dist/src/project.js +153 -0
- package/dist/src/project.js.map +1 -0
- package/dist/{types → src}/specification/schemaAccess.d.ts +3 -13
- package/dist/src/specification/schemaAccess.d.ts.map +1 -0
- package/dist/src/specification/schemaAccess.js +63 -0
- package/dist/src/specification/schemaAccess.js.map +1 -0
- package/dist/{types → src}/sync/common/appProvider.d.ts +3 -5
- package/dist/src/sync/common/appProvider.d.ts.map +1 -0
- package/dist/src/sync/common/appProvider.js +124 -0
- package/dist/src/sync/common/appProvider.js.map +1 -0
- package/dist/{types → src}/sync/common/decoration/control.d.ts +2 -2
- package/dist/src/sync/common/decoration/control.d.ts.map +1 -0
- package/dist/src/sync/common/decoration/control.js +219 -0
- package/dist/src/sync/common/decoration/control.js.map +1 -0
- package/dist/{types → src}/sync/common/decoration/decorators.d.ts +0 -0
- package/dist/src/sync/common/decoration/decorators.d.ts.map +1 -0
- package/dist/src/sync/common/decoration/decorators.js +52 -0
- package/dist/src/sync/common/decoration/decorators.js.map +1 -0
- package/dist/{types → src}/sync/common/decoration/factory.d.ts +1 -1
- package/dist/{types → src}/sync/common/decoration/factory.d.ts.map +1 -1
- package/dist/src/sync/common/decoration/factory.js +49 -0
- package/dist/src/sync/common/decoration/factory.js.map +1 -0
- package/dist/src/sync/common/decoration/flex.d.ts +4 -0
- package/dist/src/sync/common/decoration/flex.d.ts.map +1 -0
- package/dist/src/sync/common/decoration/flex.js +9 -0
- package/dist/src/sync/common/decoration/flex.js.map +1 -0
- package/dist/{types → src}/sync/common/decoration/index.d.ts +0 -0
- package/dist/{types → src}/sync/common/decoration/index.d.ts.map +0 -0
- package/dist/src/sync/common/decoration/index.js +16 -0
- package/dist/src/sync/common/decoration/index.js.map +1 -0
- package/dist/{types → src}/sync/common/flexUtils.d.ts +2 -4
- package/dist/src/sync/common/flexUtils.d.ts.map +1 -0
- package/dist/src/sync/common/flexUtils.js +107 -0
- package/dist/src/sync/common/flexUtils.js.map +1 -0
- package/dist/{types → src}/sync/common/generate/index.d.ts +0 -0
- package/dist/{types → src}/sync/common/generate/index.d.ts.map +0 -0
- package/dist/src/sync/common/generate/index.js +15 -0
- package/dist/src/sync/common/generate/index.js.map +1 -0
- package/dist/{types → src}/sync/common/generate/objectPage.d.ts +1 -2
- package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -0
- package/dist/src/sync/common/generate/objectPage.js +380 -0
- package/dist/src/sync/common/generate/objectPage.js.map +1 -0
- package/dist/{types → src}/sync/common/generate/utils.d.ts +2 -1
- package/dist/src/sync/common/generate/utils.d.ts.map +1 -0
- package/dist/src/sync/common/generate/utils.js +490 -0
- package/dist/src/sync/common/generate/utils.js.map +1 -0
- package/dist/src/sync/common/i18n.json +23 -0
- package/dist/{types → src}/sync/common/import/utils.d.ts +0 -0
- package/dist/{types → src}/sync/common/import/utils.d.ts.map +0 -0
- package/dist/src/sync/common/import/utils.js +107 -0
- package/dist/src/sync/common/import/utils.js.map +1 -0
- package/dist/{types → src}/sync/common/importProject.d.ts +0 -0
- package/dist/src/sync/common/importProject.d.ts.map +1 -0
- package/dist/src/sync/common/importProject.js +336 -0
- package/dist/src/sync/common/importProject.js.map +1 -0
- package/dist/{types → src}/sync/common/index.d.ts +0 -0
- package/dist/{types → src}/sync/common/index.d.ts.map +0 -0
- package/dist/src/sync/common/index.js +23 -0
- package/dist/src/sync/common/index.js.map +1 -0
- package/dist/{types → src}/sync/common/types.d.ts +6 -56
- package/dist/src/sync/common/types.d.ts.map +1 -0
- package/dist/src/sync/common/types.js +176 -0
- package/dist/src/sync/common/types.js.map +1 -0
- package/dist/{types → src}/sync/common/utils.d.ts +8 -10
- package/dist/src/sync/common/utils.d.ts.map +1 -0
- package/dist/src/sync/common/utils.js +1263 -0
- package/dist/src/sync/common/utils.js.map +1 -0
- package/dist/{types → src}/sync/i18n.d.ts +0 -0
- package/dist/{types → src}/sync/i18n.d.ts.map +0 -0
- package/dist/src/sync/i18n.js +28 -0
- package/dist/src/sync/i18n.js.map +1 -0
- package/dist/{types → src}/sync/v2/application.d.ts +7 -7
- package/dist/src/sync/v2/application.d.ts.map +1 -0
- package/dist/src/sync/v2/application.js +206 -0
- package/dist/src/sync/v2/application.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/controls/Action.d.ts +4 -4
- package/dist/src/sync/v2/export/controls/Action.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/Action.js +129 -0
- package/dist/src/sync/v2/export/controls/Action.js.map +1 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts +10 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +75 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +10 -0
- package/dist/{types → src}/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -1
- package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +57 -0
- package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/controls/Card.d.ts +30 -30
- package/dist/src/sync/v2/export/controls/Card.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/Card.js +656 -0
- package/dist/src/sync/v2/export/controls/Card.js.map +1 -0
- package/dist/src/sync/v2/export/controls/Field.d.ts +5 -0
- package/dist/src/sync/v2/export/controls/Field.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/Field.js +42 -0
- package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
- package/dist/src/sync/v2/export/controls/FilterBar.d.ts +41 -0
- package/dist/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/FilterBar.js +289 -0
- package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/controls/FormAction.d.ts +3 -3
- package/dist/src/sync/v2/export/controls/FormAction.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/FormAction.js +97 -0
- package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/controls/Fragment.d.ts +5 -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 +8 -0
- package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageChart.js +38 -0
- package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts +18 -0
- package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +111 -0
- package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/controls/ObjectPageFooterAction.d.ts +2 -2
- package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +63 -0
- package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +11 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +62 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +2 -2
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +63 -0
- package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts +8 -0
- package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +60 -0
- package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +45 -0
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +200 -0
- package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +52 -0
- package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageTable.js +337 -0
- package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +2 -2
- package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +62 -0
- package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/controls/Table.d.ts +24 -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/{types → src}/sync/v2/export/controls/TableColumn.d.ts +5 -6
- package/dist/src/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/TableColumn.js +173 -0
- package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -0
- package/dist/src/sync/v2/export/controls/ToolBar.d.ts +5 -0
- package/dist/src/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
- package/dist/src/sync/v2/export/controls/ToolBar.js +7 -0
- package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/controls/index.d.ts +0 -0
- package/dist/{types → src}/sync/v2/export/controls/index.d.ts.map +0 -0
- package/dist/src/sync/v2/export/controls/index.js +33 -0
- package/dist/src/sync/v2/export/controls/index.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/export.d.ts +1 -1
- package/dist/{types → src}/sync/v2/export/export.d.ts.map +1 -1
- package/dist/src/sync/v2/export/export.js +678 -0
- package/dist/src/sync/v2/export/export.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/exportPage.d.ts +2 -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/{types → src}/sync/v2/export/factory.d.ts +0 -0
- package/dist/{types → src}/sync/v2/export/factory.d.ts.map +1 -1
- package/dist/src/sync/v2/export/factory.js +71 -0
- package/dist/src/sync/v2/export/factory.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/manifest.d.ts +3 -3
- package/dist/src/sync/v2/export/manifest.d.ts.map +1 -0
- package/dist/src/sync/v2/export/manifest.js +159 -0
- package/dist/src/sync/v2/export/manifest.js.map +1 -0
- package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +13 -0
- package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
- package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +43 -0
- package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -0
- package/dist/src/sync/v2/export/pages/ListReport.d.ts +11 -0
- package/dist/src/sync/v2/export/pages/ListReport.d.ts.map +1 -0
- package/dist/src/sync/v2/export/pages/ListReport.js +40 -0
- package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -0
- package/dist/src/sync/v2/export/pages/ObjectPage.d.ts +18 -0
- package/dist/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
- package/dist/src/sync/v2/export/pages/ObjectPage.js +101 -0
- package/dist/src/sync/v2/export/pages/ObjectPage.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/pages/OverviewPage.d.ts +7 -7
- package/dist/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
- package/dist/src/sync/v2/export/pages/OverviewPage.js +214 -0
- package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/pages/index.d.ts +0 -0
- package/dist/{types → src}/sync/v2/export/pages/index.d.ts.map +0 -0
- package/dist/src/sync/v2/export/pages/index.js +17 -0
- package/dist/src/sync/v2/export/pages/index.js.map +1 -0
- package/dist/{types → src}/sync/v2/export/view-controller-generator.d.ts +4 -4
- package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +1 -0
- package/dist/src/sync/v2/export/view-controller-generator.js +149 -0
- package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -0
- package/dist/{types → src}/sync/v2/generate/analyticalListReport.d.ts +1 -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/{types → src}/sync/v2/generate/generate.d.ts +1 -1
- package/dist/src/sync/v2/generate/generate.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/generate.js +100 -0
- package/dist/src/sync/v2/generate/generate.js.map +1 -0
- package/dist/{types → src}/sync/v2/generate/index.d.ts +0 -0
- package/dist/{types → src}/sync/v2/generate/index.d.ts.map +0 -0
- package/dist/src/sync/v2/generate/index.js +15 -0
- package/dist/src/sync/v2/generate/index.js.map +1 -0
- package/dist/{types → src}/sync/v2/generate/listReport.d.ts +2 -2
- package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/listReport.js +121 -0
- package/dist/src/sync/v2/generate/listReport.js.map +1 -0
- package/dist/{types → src}/sync/v2/generate/objectPage.d.ts +1 -1
- package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/objectPage.js +547 -0
- package/dist/src/sync/v2/generate/objectPage.js.map +1 -0
- package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts +1 -1
- package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/overviewPage.js +71 -0
- package/dist/src/sync/v2/generate/overviewPage.js.map +1 -0
- package/dist/{types → src}/sync/v2/generate/utils.d.ts +3 -4
- package/dist/src/sync/v2/generate/utils.d.ts.map +1 -0
- package/dist/src/sync/v2/generate/utils.js +540 -0
- package/dist/src/sync/v2/generate/utils.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/app/appProvider.d.ts +4 -4
- package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -0
- package/dist/src/sync/v2/import/app/appProvider.js +142 -0
- package/dist/src/sync/v2/import/app/appProvider.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/app/ovpProvider.d.ts +1 -1
- package/dist/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
- package/dist/src/sync/v2/import/app/ovpProvider.js +33 -0
- package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/common/index.d.ts +6 -9
- package/dist/src/sync/v2/import/common/index.d.ts.map +1 -0
- package/dist/src/sync/v2/import/common/index.js +420 -0
- package/dist/src/sync/v2/import/common/index.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/controls/table.d.ts +2 -2
- package/dist/src/sync/v2/import/controls/table.d.ts.map +1 -0
- package/dist/src/sync/v2/import/controls/table.js +34 -0
- package/dist/src/sync/v2/import/controls/table.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/getPageType.d.ts +0 -0
- package/dist/{types → src}/sync/v2/import/getPageType.d.ts.map +0 -0
- package/dist/src/sync/v2/import/getPageType.js +1 -0
- package/dist/src/sync/v2/import/getPageType.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/index.d.ts +0 -0
- package/dist/{types → src}/sync/v2/import/index.d.ts.map +0 -0
- package/dist/src/sync/v2/import/index.js +18 -0
- package/dist/src/sync/v2/import/index.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/pages/analyticalListPage.d.ts +2 -2
- package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
- package/dist/src/sync/v2/import/pages/analyticalListPage.js +129 -0
- package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/pages/listReport.d.ts +2 -2
- package/dist/src/sync/v2/import/pages/listReport.d.ts.map +1 -0
- package/dist/src/sync/v2/import/pages/listReport.js +160 -0
- package/dist/src/sync/v2/import/pages/listReport.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/pages/objectPage.d.ts +3 -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/{types → src}/sync/v2/import/pages/overviewPage.d.ts +2 -3
- package/dist/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
- package/dist/src/sync/v2/import/pages/overviewPage.js +112 -0
- package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -0
- package/dist/{types → src}/sync/v2/import/utils.d.ts +5 -5
- package/dist/src/sync/v2/import/utils.d.ts.map +1 -0
- package/dist/src/sync/v2/import/utils.js +169 -0
- package/dist/src/sync/v2/import/utils.js.map +1 -0
- package/dist/{types → src}/sync/v2/types.d.ts +5 -6
- package/dist/src/sync/v2/types.d.ts.map +1 -0
- package/dist/src/sync/v2/types.js +38 -0
- package/dist/src/sync/v2/types.js.map +1 -0
- package/dist/{types → src}/sync/v4/application.d.ts +6 -9
- package/dist/src/sync/v4/application.d.ts.map +1 -0
- package/dist/src/sync/v4/application.js +171 -0
- package/dist/src/sync/v4/application.js.map +1 -0
- package/dist/src/sync/v4/export/controls/FilterBar.d.ts +6 -0
- package/dist/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/FilterBar.js +25 -0
- package/dist/src/sync/v4/export/controls/FilterBar.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +11 -0
- package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js +136 -0
- package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts +9 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.js +55 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.d.ts +22 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js +66 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageLayout.d.ts +5 -0
- package/dist/src/sync/v4/export/controls/ObjectPageLayout.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageLayout.js +25 -0
- package/dist/src/sync/v4/export/controls/ObjectPageLayout.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTable.d.ts +29 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTable.js +234 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +26 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +161 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +20 -0
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js +114 -0
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/controls/Table.d.ts +49 -35
- package/dist/src/sync/v4/export/controls/Table.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/Table.js +847 -0
- package/dist/src/sync/v4/export/controls/Table.js.map +1 -0
- package/dist/src/sync/v4/export/controls/TableColumn.d.ts +64 -0
- package/dist/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/TableColumn.js +311 -0
- package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ToolBar.d.ts +9 -0
- package/dist/src/sync/v4/export/controls/ToolBar.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ToolBar.js +10 -0
- package/dist/src/sync/v4/export/controls/ToolBar.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts +38 -0
- package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ToolBarAction.js +215 -0
- package/dist/src/sync/v4/export/controls/ToolBarAction.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/controls/index.d.ts +0 -0
- package/dist/{types → src}/sync/v4/export/controls/index.d.ts.map +0 -0
- package/dist/src/sync/v4/export/controls/index.js +25 -0
- package/dist/src/sync/v4/export/controls/index.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/export.d.ts +3 -2
- package/dist/src/sync/v4/export/export.d.ts.map +1 -0
- package/dist/src/sync/v4/export/export.js +854 -0
- package/dist/src/sync/v4/export/export.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/exportCustomColumn.d.ts +0 -0
- package/dist/{types → src}/sync/v4/export/exportCustomColumn.d.ts.map +0 -0
- package/dist/src/sync/v4/export/exportCustomColumn.js +59 -0
- package/dist/src/sync/v4/export/exportCustomColumn.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/factory.d.ts +0 -0
- package/dist/{types → src}/sync/v4/export/factory.d.ts.map +0 -0
- package/dist/src/sync/v4/export/factory.js +57 -0
- package/dist/src/sync/v4/export/factory.js.map +1 -0
- package/dist/src/sync/v4/export/flexibleColumnLayout.d.ts +9 -0
- package/dist/src/sync/v4/export/flexibleColumnLayout.d.ts.map +1 -0
- package/dist/src/sync/v4/export/flexibleColumnLayout.js +126 -0
- package/dist/src/sync/v4/export/flexibleColumnLayout.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/manifest.d.ts +2 -2
- package/dist/src/sync/v4/export/manifest.d.ts.map +1 -0
- package/dist/src/sync/v4/export/manifest.js +280 -0
- package/dist/src/sync/v4/export/manifest.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/pages/FreestylePage.d.ts +0 -0
- package/dist/{types → src}/sync/v4/export/pages/FreestylePage.d.ts.map +0 -0
- package/dist/src/sync/v4/export/pages/FreestylePage.js +10 -0
- package/dist/src/sync/v4/export/pages/FreestylePage.js.map +1 -0
- package/dist/src/sync/v4/export/pages/ListReport.d.ts +14 -0
- 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 +9 -0
- package/dist/src/sync/v4/export/pages/ObjectPage.d.ts.map +1 -0
- package/dist/src/sync/v4/export/pages/ObjectPage.js +41 -0
- package/dist/src/sync/v4/export/pages/ObjectPage.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/pages/index.d.ts +0 -0
- package/dist/{types → src}/sync/v4/export/pages/index.d.ts.map +0 -0
- package/dist/src/sync/v4/export/pages/index.js +16 -0
- package/dist/src/sync/v4/export/pages/index.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/types.d.ts +1 -1
- package/dist/{types → src}/sync/v4/export/types.d.ts.map +1 -1
- package/dist/src/sync/v4/export/types.js +3 -0
- package/dist/src/sync/v4/export/types.js.map +1 -0
- package/dist/{types → src}/sync/v4/export/utils.d.ts +2 -2
- package/dist/src/sync/v4/export/utils.d.ts.map +1 -0
- package/dist/src/sync/v4/export/utils.js +44 -0
- package/dist/src/sync/v4/export/utils.js.map +1 -0
- package/dist/{types → src}/sync/v4/generate/freestylePage.d.ts +0 -0
- package/dist/{types → src}/sync/v4/generate/freestylePage.d.ts.map +0 -0
- package/dist/src/sync/v4/generate/freestylePage.js +16 -0
- package/dist/src/sync/v4/generate/freestylePage.js.map +1 -0
- package/dist/{types → src}/sync/v4/generate/generate.d.ts +1 -1
- package/dist/src/sync/v4/generate/generate.d.ts.map +1 -0
- package/dist/src/sync/v4/generate/generate.js +82 -0
- package/dist/src/sync/v4/generate/generate.js.map +1 -0
- package/dist/{types → src}/sync/v4/generate/index.d.ts +0 -0
- package/dist/{types → src}/sync/v4/generate/index.d.ts.map +0 -0
- package/dist/src/sync/v4/generate/index.js +14 -0
- package/dist/src/sync/v4/generate/index.js.map +1 -0
- package/dist/{types → src}/sync/v4/generate/listReport.d.ts +0 -0
- package/dist/{types → src}/sync/v4/generate/listReport.d.ts.map +1 -1
- package/dist/src/sync/v4/generate/listReport.js +712 -0
- package/dist/src/sync/v4/generate/listReport.js.map +1 -0
- package/dist/{types → src}/sync/v4/generate/objectPage.d.ts +0 -0
- package/dist/src/sync/v4/generate/objectPage.d.ts.map +1 -0
- package/dist/src/sync/v4/generate/objectPage.js +628 -0
- package/dist/src/sync/v4/generate/objectPage.js.map +1 -0
- package/dist/{types → src}/sync/v4/import/app/appProvider.d.ts +2 -2
- package/dist/{types → src}/sync/v4/import/app/appProvider.d.ts.map +1 -1
- package/dist/src/sync/v4/import/app/appProvider.js +11 -0
- package/dist/src/sync/v4/import/app/appProvider.js.map +1 -0
- package/dist/{types → src}/sync/v4/import/app/baseAppProvider.d.ts +9 -9
- package/dist/src/sync/v4/import/app/baseAppProvider.d.ts.map +1 -0
- package/dist/src/sync/v4/import/app/baseAppProvider.js +358 -0
- package/dist/src/sync/v4/import/app/baseAppProvider.js.map +1 -0
- package/dist/{types → src}/sync/v4/import/app/freestyleProvider.d.ts +2 -2
- package/dist/src/sync/v4/import/app/freestyleProvider.d.ts.map +1 -0
- package/dist/src/sync/v4/import/app/freestyleProvider.js +12 -0
- package/dist/src/sync/v4/import/app/freestyleProvider.js.map +1 -0
- package/dist/{types → src}/sync/v4/import/app/index.d.ts +0 -0
- package/dist/{types → src}/sync/v4/import/app/index.d.ts.map +0 -0
- package/dist/src/sync/v4/import/app/index.js +13 -0
- package/dist/src/sync/v4/import/app/index.js.map +1 -0
- package/dist/{types → src}/sync/v4/import/fragment.d.ts +1 -1
- package/dist/src/sync/v4/import/fragment.d.ts.map +1 -0
- package/dist/src/sync/v4/import/fragment.js +128 -0
- package/dist/src/sync/v4/import/fragment.js.map +1 -0
- package/dist/{types → src}/sync/v4/import/index.d.ts +0 -0
- package/dist/{types → src}/sync/v4/import/index.d.ts.map +0 -0
- package/dist/src/sync/v4/import/index.js +15 -0
- package/dist/src/sync/v4/import/index.js.map +1 -0
- package/dist/{types → src}/sync/v4/import/pages/listReport.d.ts +4 -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/{types → src}/sync/v4/import/pages/objectPage.d.ts +2 -2
- package/dist/src/sync/v4/import/pages/objectPage.d.ts.map +1 -0
- package/dist/src/sync/v4/import/pages/objectPage.js +265 -0
- package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -0
- package/dist/{types → src}/sync/v4/import/utils.d.ts +1 -1
- package/dist/{types → src}/sync/v4/import/utils.d.ts.map +1 -1
- package/dist/src/sync/v4/import/utils.js +35 -0
- package/dist/src/sync/v4/import/utils.js.map +1 -0
- package/dist/src/sync/v4/sync-rules/controllerExtensions.d.ts +9 -0
- package/dist/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -0
- package/dist/src/sync/v4/sync-rules/controllerExtensions.js +104 -0
- package/dist/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -0
- package/dist/{types → src}/sync/v4/types.d.ts +0 -0
- package/dist/{types → src}/sync/v4/types.d.ts.map +0 -0
- package/dist/src/sync/v4/types.js +3 -0
- package/dist/src/sync/v4/types.js.map +1 -0
- package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts +1 -1
- package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts.map +1 -1
- package/dist/src/sync/v4/utils/StableIdHelper.js +145 -0
- package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -0
- package/dist/{types → src}/sync/v4/utils/utils.d.ts +23 -25
- package/dist/src/sync/v4/utils/utils.d.ts.map +1 -0
- package/dist/src/sync/v4/utils/utils.js +432 -0
- package/dist/src/sync/v4/utils/utils.js.map +1 -0
- package/package.json +15 -15
- package/CHANGELOG.md +0 -458
- package/dist/types/apiTypes.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/project.d.ts.map +0 -1
- package/dist/types/specification/common/Application.d.ts +0 -37
- package/dist/types/specification/common/Application.d.ts.map +0 -1
- package/dist/types/specification/common/index.d.ts +0 -6
- package/dist/types/specification/common/index.d.ts.map +0 -1
- package/dist/types/specification/common/page.d.ts +0 -51
- package/dist/types/specification/common/page.d.ts.map +0 -1
- package/dist/types/specification/common/types.d.ts +0 -17
- package/dist/types/specification/common/types.d.ts.map +0 -1
- package/dist/types/specification/common/webapp/manifest/Manifest.d.ts +0 -50
- package/dist/types/specification/common/webapp/manifest/Manifest.d.ts.map +0 -1
- package/dist/types/specification/common/webapp/manifest/index.d.ts +0 -4
- package/dist/types/specification/common/webapp/manifest/index.d.ts.map +0 -1
- package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts +0 -376
- package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts.map +0 -1
- package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts +0 -36
- package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts.map +0 -1
- package/dist/types/specification/schemaAccess.d.ts.map +0 -1
- package/dist/types/specification/v2/ApplicationV2.d.ts +0 -47
- package/dist/types/specification/v2/ApplicationV2.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/Action.d.ts +0 -74
- package/dist/types/specification/v2/controls/Action.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts +0 -59
- package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts +0 -31
- package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/Card.d.ts +0 -658
- package/dist/types/specification/v2/controls/Card.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/Facets.d.ts +0 -18
- package/dist/types/specification/v2/controls/Facets.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/Field.d.ts +0 -11
- package/dist/types/specification/v2/controls/Field.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/FilterBar.d.ts +0 -235
- package/dist/types/specification/v2/controls/FilterBar.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/Footer.d.ts +0 -21
- package/dist/types/specification/v2/controls/Footer.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/ObjectPageChart.d.ts +0 -17
- package/dist/types/specification/v2/controls/ObjectPageChart.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/ObjectPageForm.d.ts +0 -16
- package/dist/types/specification/v2/controls/ObjectPageForm.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts +0 -33
- package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts +0 -23
- package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/ObjectPageSection.d.ts +0 -121
- package/dist/types/specification/v2/controls/ObjectPageSection.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/ObjectPageTable.d.ts +0 -187
- package/dist/types/specification/v2/controls/ObjectPageTable.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts +0 -16
- package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/Table.d.ts +0 -483
- package/dist/types/specification/v2/controls/Table.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/ToolBar.d.ts +0 -9
- package/dist/types/specification/v2/controls/ToolBar.d.ts.map +0 -1
- package/dist/types/specification/v2/controls/index.d.ts +0 -18
- package/dist/types/specification/v2/controls/index.d.ts.map +0 -1
- package/dist/types/specification/v2/index.d.ts +0 -6
- package/dist/types/specification/v2/index.d.ts.map +0 -1
- package/dist/types/specification/v2/page.d.ts +0 -8
- package/dist/types/specification/v2/page.d.ts.map +0 -1
- package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts +0 -22
- package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts.map +0 -1
- package/dist/types/specification/v2/pages/ListReportConfig.d.ts +0 -13
- package/dist/types/specification/v2/pages/ListReportConfig.d.ts.map +0 -1
- package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts +0 -34
- package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts.map +0 -1
- package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts +0 -132
- package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts.map +0 -1
- package/dist/types/specification/v2/pages/index.d.ts +0 -5
- package/dist/types/specification/v2/pages/index.d.ts.map +0 -1
- package/dist/types/specification/v2/webapp/index.d.ts +0 -2
- package/dist/types/specification/v2/webapp/index.d.ts.map +0 -1
- package/dist/types/specification/v2/webapp/manifest/index.d.ts +0 -3
- package/dist/types/specification/v2/webapp/manifest/index.d.ts.map +0 -1
- package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts +0 -11
- package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts.map +0 -1
- package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts +0 -99
- package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts.map +0 -1
- package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts +0 -32
- package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts.map +0 -1
- package/dist/types/specification/v4/ApplicationV4.d.ts +0 -36
- package/dist/types/specification/v4/ApplicationV4.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/FilterBar.d.ts +0 -19
- package/dist/types/specification/v4/controls/FilterBar.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/ObjectPageFooter.d.ts +0 -12
- package/dist/types/specification/v4/controls/ObjectPageFooter.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/ObjectPageHeader.d.ts +0 -30
- package/dist/types/specification/v4/controls/ObjectPageHeader.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/ObjectPageHeaderSection.d.ts +0 -47
- package/dist/types/specification/v4/controls/ObjectPageHeaderSection.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/ObjectPageLayout.d.ts +0 -15
- package/dist/types/specification/v4/controls/ObjectPageLayout.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/ObjectPageSection.d.ts +0 -99
- package/dist/types/specification/v4/controls/ObjectPageSection.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/ObjectPageTable.d.ts +0 -107
- package/dist/types/specification/v4/controls/ObjectPageTable.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/ObjectPageToolBar.d.ts +0 -38
- package/dist/types/specification/v4/controls/ObjectPageToolBar.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/Table.d.ts +0 -352
- package/dist/types/specification/v4/controls/Table.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/ToolBar.d.ts +0 -111
- package/dist/types/specification/v4/controls/ToolBar.d.ts.map +0 -1
- package/dist/types/specification/v4/controls/index.d.ts +0 -11
- package/dist/types/specification/v4/controls/index.d.ts.map +0 -1
- package/dist/types/specification/v4/index.d.ts +0 -6
- package/dist/types/specification/v4/index.d.ts.map +0 -1
- package/dist/types/specification/v4/page.d.ts +0 -21
- package/dist/types/specification/v4/page.d.ts.map +0 -1
- package/dist/types/specification/v4/pages/FreestylePageConfig.d.ts +0 -3
- package/dist/types/specification/v4/pages/FreestylePageConfig.d.ts.map +0 -1
- package/dist/types/specification/v4/pages/ListReportConfig.d.ts +0 -37
- package/dist/types/specification/v4/pages/ListReportConfig.d.ts.map +0 -1
- package/dist/types/specification/v4/pages/ObjectPageConfig.d.ts +0 -19
- package/dist/types/specification/v4/pages/ObjectPageConfig.d.ts.map +0 -1
- package/dist/types/specification/v4/pages/index.d.ts +0 -4
- package/dist/types/specification/v4/pages/index.d.ts.map +0 -1
- package/dist/types/specification/v4/webapp/index.d.ts +0 -2
- package/dist/types/specification/v4/webapp/index.d.ts.map +0 -1
- package/dist/types/specification/v4/webapp/manifest/ManifestSettings.d.ts +0 -225
- package/dist/types/specification/v4/webapp/manifest/ManifestSettings.d.ts.map +0 -1
- package/dist/types/specification/v4/webapp/manifest/index.d.ts +0 -5
- package/dist/types/specification/v4/webapp/manifest/index.d.ts.map +0 -1
- package/dist/types/specification/v4/webapp/manifest/sapUi5.d.ts +0 -110
- package/dist/types/specification/v4/webapp/manifest/sapUi5.d.ts.map +0 -1
- package/dist/types/specification/v4/webapp/manifest/sapUiPageV4.d.ts +0 -84
- package/dist/types/specification/v4/webapp/manifest/sapUiPageV4.d.ts.map +0 -1
- package/dist/types/sync/common/appProvider.d.ts.map +0 -1
- package/dist/types/sync/common/decoration/control.d.ts.map +0 -1
- package/dist/types/sync/common/decoration/decorators.d.ts.map +0 -1
- package/dist/types/sync/common/decoration/flex.d.ts +0 -7
- package/dist/types/sync/common/decoration/flex.d.ts.map +0 -1
- package/dist/types/sync/common/flexUtils.d.ts.map +0 -1
- package/dist/types/sync/common/generate/objectPage.d.ts.map +0 -1
- package/dist/types/sync/common/generate/utils.d.ts.map +0 -1
- package/dist/types/sync/common/importProject.d.ts.map +0 -1
- package/dist/types/sync/common/types.d.ts.map +0 -1
- package/dist/types/sync/common/utils.d.ts.map +0 -1
- package/dist/types/sync/v2/application.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/Action.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts +0 -10
- package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +0 -10
- package/dist/types/sync/v2/export/controls/Card.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/Field.d.ts +0 -5
- package/dist/types/sync/v2/export/controls/Field.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/FilterBar.d.ts +0 -42
- package/dist/types/sync/v2/export/controls/FilterBar.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/FormAction.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/Fragment.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ObjectPageChart.d.ts +0 -8
- package/dist/types/sync/v2/export/controls/ObjectPageChart.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts +0 -20
- package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts +0 -11
- package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts +0 -8
- package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +0 -45
- package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts +0 -53
- package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/Table.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/TableColumn.d.ts.map +0 -1
- package/dist/types/sync/v2/export/controls/ToolBar.d.ts +0 -5
- package/dist/types/sync/v2/export/controls/ToolBar.d.ts.map +0 -1
- package/dist/types/sync/v2/export/exportPage.d.ts.map +0 -1
- package/dist/types/sync/v2/export/manifest.d.ts.map +0 -1
- package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts +0 -15
- package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts.map +0 -1
- package/dist/types/sync/v2/export/pages/ListReport.d.ts +0 -11
- package/dist/types/sync/v2/export/pages/ListReport.d.ts.map +0 -1
- package/dist/types/sync/v2/export/pages/ObjectPage.d.ts +0 -19
- package/dist/types/sync/v2/export/pages/ObjectPage.d.ts.map +0 -1
- package/dist/types/sync/v2/export/pages/OverviewPage.d.ts.map +0 -1
- package/dist/types/sync/v2/export/view-controller-generator.d.ts.map +0 -1
- package/dist/types/sync/v2/generate/analyticalListReport.d.ts.map +0 -1
- package/dist/types/sync/v2/generate/generate.d.ts.map +0 -1
- package/dist/types/sync/v2/generate/listReport.d.ts.map +0 -1
- package/dist/types/sync/v2/generate/objectPage.d.ts.map +0 -1
- package/dist/types/sync/v2/generate/utils.d.ts.map +0 -1
- package/dist/types/sync/v2/import/app/appProvider.d.ts.map +0 -1
- package/dist/types/sync/v2/import/app/ovpProvider.d.ts.map +0 -1
- package/dist/types/sync/v2/import/common/index.d.ts.map +0 -1
- package/dist/types/sync/v2/import/controls/table.d.ts.map +0 -1
- package/dist/types/sync/v2/import/pages/analyticalListPage.d.ts.map +0 -1
- package/dist/types/sync/v2/import/pages/listReport.d.ts.map +0 -1
- package/dist/types/sync/v2/import/pages/objectPage.d.ts.map +0 -1
- package/dist/types/sync/v2/import/pages/overviewPage.d.ts.map +0 -1
- package/dist/types/sync/v2/import/utils.d.ts.map +0 -1
- package/dist/types/sync/v2/types.d.ts.map +0 -1
- package/dist/types/sync/v4/application.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/FilterBar.d.ts +0 -5
- package/dist/types/sync/v4/export/controls/FilterBar.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/ObjectPageCustomSection.d.ts +0 -13
- package/dist/types/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/ObjectPageHeader.d.ts +0 -9
- package/dist/types/sync/v4/export/controls/ObjectPageHeader.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/ObjectPageHeaderSection.d.ts +0 -22
- package/dist/types/sync/v4/export/controls/ObjectPageHeaderSection.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/ObjectPageLayout.d.ts +0 -5
- package/dist/types/sync/v4/export/controls/ObjectPageLayout.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/ObjectPageTable.d.ts +0 -29
- package/dist/types/sync/v4/export/controls/ObjectPageTable.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/ObjectPageTableColumn.d.ts +0 -26
- package/dist/types/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +0 -20
- package/dist/types/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/Table.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/TableColumn.d.ts +0 -64
- package/dist/types/sync/v4/export/controls/TableColumn.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/ToolBar.d.ts +0 -9
- package/dist/types/sync/v4/export/controls/ToolBar.d.ts.map +0 -1
- package/dist/types/sync/v4/export/controls/ToolBarAction.d.ts +0 -38
- package/dist/types/sync/v4/export/controls/ToolBarAction.d.ts.map +0 -1
- package/dist/types/sync/v4/export/export.d.ts.map +0 -1
- package/dist/types/sync/v4/export/flexibleColumnLayout.d.ts +0 -8
- package/dist/types/sync/v4/export/flexibleColumnLayout.d.ts.map +0 -1
- package/dist/types/sync/v4/export/manifest.d.ts.map +0 -1
- package/dist/types/sync/v4/export/pages/ListReport.d.ts +0 -14
- package/dist/types/sync/v4/export/pages/ListReport.d.ts.map +0 -1
- package/dist/types/sync/v4/export/pages/ObjectPage.d.ts +0 -9
- package/dist/types/sync/v4/export/pages/ObjectPage.d.ts.map +0 -1
- package/dist/types/sync/v4/export/utils.d.ts.map +0 -1
- package/dist/types/sync/v4/generate/generate.d.ts.map +0 -1
- package/dist/types/sync/v4/generate/objectPage.d.ts.map +0 -1
- package/dist/types/sync/v4/import/app/baseAppProvider.d.ts.map +0 -1
- package/dist/types/sync/v4/import/app/freestyleProvider.d.ts.map +0 -1
- package/dist/types/sync/v4/import/fragment.d.ts.map +0 -1
- package/dist/types/sync/v4/import/pages/listReport.d.ts.map +0 -1
- package/dist/types/sync/v4/import/pages/objectPage.d.ts.map +0 -1
- package/dist/types/sync/v4/utils/utils.d.ts.map +0 -1
- package/dist/types/v2.d.ts +0 -3
- package/dist/types/v2.d.ts.map +0 -1
- package/dist/types/v4.d.ts +0 -3
- package/dist/types/v4.d.ts.map +0 -1
|
@@ -0,0 +1,854 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.exportPageV4 = void 0;
|
|
4
|
+
const exportCustomColumn_1 = require("./exportCustomColumn");
|
|
5
|
+
const common_1 = require("../../common");
|
|
6
|
+
const application_1 = require("../application");
|
|
7
|
+
const manifest_1 = require("./manifest");
|
|
8
|
+
const flexibleColumnLayout_1 = require("./flexibleColumnLayout");
|
|
9
|
+
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
10
|
+
const utils_1 = require("../../common/utils");
|
|
11
|
+
const factory_1 = require("./factory");
|
|
12
|
+
const utils_2 = require("./utils");
|
|
13
|
+
/**
|
|
14
|
+
* Return the skeleton of a new routing target for the manifest, pre-filled with some values
|
|
15
|
+
* @param name - name of the template, e.g. "sap.suite.ui.generic.template.ObjectPage"
|
|
16
|
+
* @param entitySet - the main entity set
|
|
17
|
+
* @param navigationProperty - navigation property
|
|
18
|
+
*/
|
|
19
|
+
const getNewRoutingTarget = (name, entitySet) => {
|
|
20
|
+
return {
|
|
21
|
+
type: 'Component',
|
|
22
|
+
id: '',
|
|
23
|
+
name: name,
|
|
24
|
+
options: {
|
|
25
|
+
settings: {
|
|
26
|
+
entitySet: entitySet,
|
|
27
|
+
navigation: {},
|
|
28
|
+
controlConfiguration: {}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
const defaultExportResult = {
|
|
34
|
+
flexChanges: [],
|
|
35
|
+
manifest: {
|
|
36
|
+
'sap.ui5': {
|
|
37
|
+
flexEnabled: true,
|
|
38
|
+
routing: {
|
|
39
|
+
targets: {}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
'sap.app': {}
|
|
43
|
+
},
|
|
44
|
+
fragments: []
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Applies the sync rule for a flex change during export
|
|
48
|
+
* @param syncRule - export rule from the object classes decorator
|
|
49
|
+
* @param transferParameters - list of parameters passed from API
|
|
50
|
+
* @param ids - list of parent & child ids
|
|
51
|
+
* @param breadcrumbs - list of breadcrumbs, i.e. ID parts for building the stable ID
|
|
52
|
+
* @param title - title from the app schema (comprising for instance the facet ID)
|
|
53
|
+
* @param configObject - current (sub)object of the configuration file
|
|
54
|
+
* @param key - key of the given property
|
|
55
|
+
*/
|
|
56
|
+
function exportFlexChange(syncRule, transferParameters, ids, breadcrumbs, configObject, key) {
|
|
57
|
+
const controlId = syncRule.flex.controlId(transferParameters.baseId, ids, breadcrumbs, syncRule.flex.controlType, transferParameters.title);
|
|
58
|
+
const flexChange = common_1.fillFlexChangeContent(configObject, syncRule, transferParameters.ui5Version, key, controlId);
|
|
59
|
+
transferParameters.exportResults.flexChanges.push(syncRule.flex.createFlexChange(flexChange, transferParameters.exportResults.manifest));
|
|
60
|
+
}
|
|
61
|
+
function determineTargetAnnotationOfTable(ids, transferParameters, configObject) {
|
|
62
|
+
let targetAnnotationEncoded = '@com.sap.vocabularies.UI.v1.LineItem';
|
|
63
|
+
let targetAnnotation = '@com.sap.vocabularies.UI.v1.LineItem';
|
|
64
|
+
const annotationPath = transferParameters.appSchema.definitions[common_1.DefinitionName.TableSPV]?.[common_1.SchemaTag.annotationPath];
|
|
65
|
+
if (ids.length > 1 && transferParameters.config['table'].annotationPath) {
|
|
66
|
+
const annoPath = transferParameters.appSchema.definitions[common_1.DefinitionName.ALPTable]?.[common_1.SchemaTag.annotationPath];
|
|
67
|
+
targetAnnotationEncoded = targetAnnotation = annoPath && annoPath.substr(annoPath.lastIndexOf('@'));
|
|
68
|
+
}
|
|
69
|
+
else if (configObject.table?.annotationPath) {
|
|
70
|
+
//view definition
|
|
71
|
+
targetAnnotationEncoded = targetAnnotation = `@${configObject.table.annotationPath}`;
|
|
72
|
+
}
|
|
73
|
+
else if (ids[0] === common_1.PropertyName.table && annotationPath) {
|
|
74
|
+
const annotationPathArray = annotationPath.split('/');
|
|
75
|
+
targetAnnotationEncoded = targetAnnotation = annotationPathArray[annotationPathArray.length - 1];
|
|
76
|
+
}
|
|
77
|
+
return { targetAnnotationEncoded, targetAnnotation };
|
|
78
|
+
}
|
|
79
|
+
function determineTargetAnnotationOfChart(ids, transferParameters, targetAnnotationEncoded, targetAnnotation, configObject) {
|
|
80
|
+
if (ids.length > 1) {
|
|
81
|
+
const annoPath = transferParameters.appSchema.definitions[common_1.DefinitionName.ALPChart]?.[common_1.SchemaTag.annotationPath];
|
|
82
|
+
targetAnnotationEncoded = targetAnnotation = annoPath && annoPath.substr(annoPath.lastIndexOf('@'));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
//chart level
|
|
86
|
+
targetAnnotationEncoded = targetAnnotation = `@${configObject.chart?.annotationPath}`;
|
|
87
|
+
}
|
|
88
|
+
return { targetAnnotationEncoded, targetAnnotation };
|
|
89
|
+
}
|
|
90
|
+
function determineTargetAnnotationOfViews(transferParameters, ids, targetAnnotation, targetAnnotationEncoded) {
|
|
91
|
+
const parentDefinition = transferParameters.appSchema.definitions['MultiTableModeV4']?.properties[ids[2]];
|
|
92
|
+
if (parentDefinition) {
|
|
93
|
+
if (ids.length === 3) {
|
|
94
|
+
//the parent definition comprises the annotation of the visualization of the (Selection)PresentationVariant.
|
|
95
|
+
targetAnnotation = targetAnnotationEncoded =
|
|
96
|
+
parentDefinition[common_1.SchemaTag.annotationPath] &&
|
|
97
|
+
parentDefinition[common_1.SchemaTag.annotationPath].substr(parentDefinition[common_1.SchemaTag.annotationPath].lastIndexOf('@'));
|
|
98
|
+
}
|
|
99
|
+
else if (ids.length > 3) {
|
|
100
|
+
//the own definition comprises the lineItem or chart annotation from the visualization
|
|
101
|
+
const ownDefinitionName = parentDefinition.$ref?.split(common_1.DEFINITION_LINK_PREFIX)[1];
|
|
102
|
+
const ownDefinition = ownDefinitionName && transferParameters.appSchema.definitions[ownDefinitionName];
|
|
103
|
+
const annotation = ownDefinition?.[common_1.SchemaTag.annotationPath] &&
|
|
104
|
+
ownDefinition[common_1.SchemaTag.annotationPath].substr(ownDefinition[common_1.SchemaTag.annotationPath].lastIndexOf('@'));
|
|
105
|
+
targetAnnotation = targetAnnotationEncoded = ownDefinition['navigationProperty']
|
|
106
|
+
? `${ownDefinition['navigationProperty']}/${annotation}`
|
|
107
|
+
: annotation;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return { targetAnnotation, targetAnnotationEncoded };
|
|
111
|
+
}
|
|
112
|
+
function determineTargetAnnotationOfSections(ids, custom, targetAnnotationEncoded, targetAnnotation) {
|
|
113
|
+
if (ids[1] === 'custom' && ids[2] !== ids[ids.length - 1]) {
|
|
114
|
+
custom = true;
|
|
115
|
+
targetAnnotationEncoded = ids[2];
|
|
116
|
+
targetAnnotation = targetAnnotationEncoded && targetAnnotationEncoded.replace(/::/g, '/');
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
const sectionId = utils_2.extractLastIdPart(ids[1]);
|
|
120
|
+
targetAnnotationEncoded = sectionId && sectionId.replace(/\//g, '::');
|
|
121
|
+
targetAnnotation = targetAnnotationEncoded && targetAnnotationEncoded.replace(/::/g, '/');
|
|
122
|
+
}
|
|
123
|
+
return { custom, targetAnnotationEncoded, targetAnnotation };
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Determines the target annotation that is relevant for the sync rule
|
|
127
|
+
* @param {string[]} ids - list of ids of parent elements
|
|
128
|
+
* @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
|
|
129
|
+
* @param { [key: string]: any } configObject - the given config.json, to be exported
|
|
130
|
+
* @returns { targetAnnotationEncoded, targetAnnotation, custom }
|
|
131
|
+
*/
|
|
132
|
+
function determineTargetAnnotation(ids, transferParameters, configObject) {
|
|
133
|
+
let targetAnnotation, targetAnnotationEncoded, custom = false;
|
|
134
|
+
if (ids[0] === common_1.PropertyName.table && ids[1] !== common_1.PropertyName.views) {
|
|
135
|
+
({ targetAnnotationEncoded, targetAnnotation } = determineTargetAnnotationOfTable(ids, transferParameters, configObject));
|
|
136
|
+
}
|
|
137
|
+
else if (ids[0] === common_1.PropertyName.chart && transferParameters.templateType === utils_1.TemplateType.AnalyticalListPageV4) {
|
|
138
|
+
({ targetAnnotationEncoded, targetAnnotation } = determineTargetAnnotationOfChart(ids, transferParameters, targetAnnotationEncoded, targetAnnotation, configObject));
|
|
139
|
+
}
|
|
140
|
+
else if (ids[0] === common_1.PropertyName.sections) {
|
|
141
|
+
({ custom, targetAnnotationEncoded, targetAnnotation } = determineTargetAnnotationOfSections(ids, custom, targetAnnotationEncoded, targetAnnotation));
|
|
142
|
+
}
|
|
143
|
+
else if (ids[1] === common_1.PropertyName.sections) {
|
|
144
|
+
//header sections
|
|
145
|
+
if (transferParameters.title && transferParameters.title.indexOf(common_1.FacetTitlePrefix) > -1) {
|
|
146
|
+
targetAnnotation = targetAnnotationEncoded = transferParameters.title.split(common_1.FacetTitlePrefix)[1];
|
|
147
|
+
}
|
|
148
|
+
else if (ids[2]) {
|
|
149
|
+
targetAnnotation = targetAnnotationEncoded = ids[2].split('@')[1];
|
|
150
|
+
}
|
|
151
|
+
else if (targetAnnotationEncoded) {
|
|
152
|
+
targetAnnotation = targetAnnotationEncoded = targetAnnotationEncoded.replace(/::/g, '/');
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else if (ids[1] === common_1.PropertyName.views) {
|
|
156
|
+
({ targetAnnotation, targetAnnotationEncoded } = determineTargetAnnotationOfViews(transferParameters, ids, targetAnnotation, targetAnnotationEncoded));
|
|
157
|
+
}
|
|
158
|
+
return { targetAnnotationEncoded, targetAnnotation, custom };
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Calculates an additional key for the sync rule from the given ID's
|
|
162
|
+
* @param {string[]} ids - list of ids of parent elements
|
|
163
|
+
* @returns the key for the sync rule
|
|
164
|
+
*/
|
|
165
|
+
function determineKeyForSyncRule(ids) {
|
|
166
|
+
let idIndex = 0;
|
|
167
|
+
for (let index = ids.length - 1; index > -1; index--) {
|
|
168
|
+
const element = ids[index];
|
|
169
|
+
if (element === 'columns' || element === common_1.PropertyName.actions || element === 'views') {
|
|
170
|
+
idIndex = index + 1;
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return idIndex > 0 ? ids[idIndex].replace(/\//gi, '??') : undefined;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Creates a new object in manifest
|
|
178
|
+
* @param {ExportToManifestParams} params - list of parameters
|
|
179
|
+
*/
|
|
180
|
+
function createNewObjectInManifest(params) {
|
|
181
|
+
if (params.exportHandler && typeof params.exportHandler === 'function') {
|
|
182
|
+
params.exportHandler(params.manifestSection, params.configObject, params.configPropertyKey, params.manifestKey, params.syncRuleKey);
|
|
183
|
+
}
|
|
184
|
+
else if (!params.manifestSection[params.manifestKey]) {
|
|
185
|
+
params.manifestSection[params.manifestKey] = {};
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Transfers a property value from config to manifest
|
|
190
|
+
* @param {ExportToManifestParams} params - list of parameters
|
|
191
|
+
* @param propertyDefinition - schema definition of a particular property
|
|
192
|
+
* @param nextDefinition - schema definition referred by $ref
|
|
193
|
+
*/
|
|
194
|
+
function transferPropertyToManifest(params, propertyDefinition, nextDefinition) {
|
|
195
|
+
if (!(propertyDefinition['type'] !== 'array' &&
|
|
196
|
+
nextDefinition?.['targetDefinition']?.type === 'object' &&
|
|
197
|
+
nextDefinition?.['targetDefinition']?.properties)) {
|
|
198
|
+
if (params.exportHandler !== false) {
|
|
199
|
+
if (params.exportHandler && typeof params.exportHandler === 'function') {
|
|
200
|
+
params.exportHandler(params.manifestSection, params.configObject, params.configPropertyKey, params.manifestKey, params.syncRuleKey);
|
|
201
|
+
}
|
|
202
|
+
else if (Array.isArray(params.configObject[params.configPropertyKey]) &&
|
|
203
|
+
!params.configObject[params.configPropertyKey].length) {
|
|
204
|
+
delete params.manifestSection[params.manifestKey];
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
params.manifestSection[params.manifestKey] = params.configObject[params.configPropertyKey];
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
else if (propertyDefinition['type'] !== 'array' && params.manifestSection[params.manifestKey] === undefined) {
|
|
212
|
+
createNewObjectInManifest(params);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Transfers a change in config.json to manifest
|
|
217
|
+
* @param ids - list of parent & child ids
|
|
218
|
+
* @param {SyncRule} syncRule - syncRule (metadata)
|
|
219
|
+
* @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
|
|
220
|
+
* @param {string} configPropertyKey - key of property in the config
|
|
221
|
+
* @param { [key: string]: any } configObject - the given config.json, to be exported
|
|
222
|
+
* @param propertyDefinition - schema definition of a particular property
|
|
223
|
+
* @param nextDefinition - schema definition referred by $ref
|
|
224
|
+
*/
|
|
225
|
+
function exportManifestChange(ids, syncRule, transferParameters, configPropertyKey, configObject, propertyDefinition, nextDefinition) {
|
|
226
|
+
//eliminate subsections' hierarchy
|
|
227
|
+
let index = ids.indexOf('subsections');
|
|
228
|
+
while (index > -1) {
|
|
229
|
+
ids.splice(index - 1, 2);
|
|
230
|
+
index = ids.indexOf('subsections');
|
|
231
|
+
}
|
|
232
|
+
const { targetAnnotationEncoded, targetAnnotation, custom } = determineTargetAnnotation(ids, transferParameters, configObject);
|
|
233
|
+
const syncRuleKey = determineKeyForSyncRule(ids);
|
|
234
|
+
const path = syncRule.manifest.path(transferParameters.pageNameArray, transferParameters.exportResults.manifest, targetAnnotationEncoded, syncRuleKey, targetAnnotation, configObject);
|
|
235
|
+
const manifestSection = common_1.getManifestSectionByPathV4(transferParameters.exportResults.manifest, path, targetAnnotation, custom ? undefined : targetAnnotationEncoded);
|
|
236
|
+
if (manifestSection) {
|
|
237
|
+
const manifestKey = syncRule.manifest.key || configPropertyKey;
|
|
238
|
+
if (configObject[configPropertyKey] !== undefined) {
|
|
239
|
+
// In case of arrays we take over complete array
|
|
240
|
+
const exportParams = {
|
|
241
|
+
exportHandler: syncRule.manifest.export,
|
|
242
|
+
manifestSection,
|
|
243
|
+
configObject,
|
|
244
|
+
configPropertyKey,
|
|
245
|
+
manifestKey,
|
|
246
|
+
syncRuleKey
|
|
247
|
+
};
|
|
248
|
+
transferPropertyToManifest(exportParams, propertyDefinition, nextDefinition);
|
|
249
|
+
}
|
|
250
|
+
else if (syncRule.manifest.delete) {
|
|
251
|
+
const deleteHandler = syncRule.manifest.delete;
|
|
252
|
+
if (typeof deleteHandler === 'function') {
|
|
253
|
+
deleteHandler(manifestSection, configObject, configPropertyKey, manifestKey, syncRuleKey, transferParameters.config);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
else if (manifestSection[manifestKey] !== undefined) {
|
|
257
|
+
delete manifestSection[manifestKey];
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
utils_1.deleteEmptyStructure(transferParameters.exportResults.manifest, path, targetAnnotation, targetAnnotationEncoded);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Evaluates an export rule for a property or object, transfers to flex change or manifest setting
|
|
264
|
+
* @param transferParameters - list of parameters passed from API
|
|
265
|
+
* @param breadcrumbs - list of breadcrumbs, i.e. ID parts for building the stable ID
|
|
266
|
+
* @param key - key of the given property
|
|
267
|
+
* @param configObject - current (sub)object of the configuration file
|
|
268
|
+
* @param ids - list of parent & child ids
|
|
269
|
+
* @param title - title from the app schema (comprising for instance the facet ID)
|
|
270
|
+
* @param propertyDefinition - schema definition of a particular property
|
|
271
|
+
* @param nextDefinition - schema definition referred by $ref
|
|
272
|
+
*/
|
|
273
|
+
function evaluateExportRule(transferParameters, breadcrumbs, key, configObject, ids, propertyDefinition, nextDefinition) {
|
|
274
|
+
const syncRule = common_1.getReflectMetadata(configObject, key);
|
|
275
|
+
if (syncRule) {
|
|
276
|
+
if (syncRule.flex) {
|
|
277
|
+
exportFlexChange(syncRule, transferParameters, ids, breadcrumbs, configObject, key);
|
|
278
|
+
}
|
|
279
|
+
else if (syncRule.manifest) {
|
|
280
|
+
exportManifestChange(ids, syncRule, transferParameters, key, configObject, propertyDefinition, nextDefinition);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Processes an (object-like) sub-object of the app schema and transfer all connected config entries to manifest
|
|
286
|
+
* @param {TransferEntryParameters} parameters - list of parameters
|
|
287
|
+
* @param {NextDefinition} nextDefinition - the next definition in app schema to be processed
|
|
288
|
+
* @param currentConfigObject - current config object
|
|
289
|
+
* @param ids - list of parent & child ID's
|
|
290
|
+
* @param localIdParts - list of ID parts for building the stable ID
|
|
291
|
+
*/
|
|
292
|
+
function transferSubObject(parameters, nextDefinition, currentConfigObject, ids, localIdParts) {
|
|
293
|
+
let objects = [], isArray = false;
|
|
294
|
+
if (parameters.propertyDefinition.$ref && nextDefinition) {
|
|
295
|
+
objects.push(nextDefinition.configObject);
|
|
296
|
+
}
|
|
297
|
+
else if (parameters.propertyDefinition['anyOf']) {
|
|
298
|
+
objects.push(currentConfigObject);
|
|
299
|
+
}
|
|
300
|
+
else if (parameters.propertyDefinition.type === 'array') {
|
|
301
|
+
objects = currentConfigObject;
|
|
302
|
+
isArray = true;
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
objects.push(currentConfigObject);
|
|
306
|
+
}
|
|
307
|
+
parameters.index = 0;
|
|
308
|
+
for (const innerObject of objects) {
|
|
309
|
+
const additionalIds = [];
|
|
310
|
+
if (parameters.breadcrumbs[0] === common_1.PropertyName.sections && parameters.key === 'custom' && isArray) {
|
|
311
|
+
// We need add custom section 'id' into breadcrumbs to retrieve correct path to manifest
|
|
312
|
+
additionalIds.push(innerObject['id']);
|
|
313
|
+
}
|
|
314
|
+
parameters.transferParameters.title = nextDefinition.title;
|
|
315
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
316
|
+
transferManifestEntriesAndFlexChange(parameters.transferParameters, innerObject, [...ids, ...additionalIds], localIdParts, [...parameters.breadcrumbs, parameters.key], nextDefinition.targetDefinition);
|
|
317
|
+
parameters.index++;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Creates an ALP 'views' entry in the resulting manifest if not yet existing yet.
|
|
322
|
+
* Adds the secondary = table view if missing.
|
|
323
|
+
* @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
|
|
324
|
+
* @param configObject - current object in config.json
|
|
325
|
+
* @returns
|
|
326
|
+
* - a boolean indicating that the views entry got created.
|
|
327
|
+
* - a boolean indicating if the processing of sub-objects shall be stopped
|
|
328
|
+
**/
|
|
329
|
+
function createALPTableView(transferParameters, configObject, key) {
|
|
330
|
+
let newElementCreated = false;
|
|
331
|
+
if (!configObject[key] || Object.keys(configObject[key]).length === 0 || !configObject.chart) {
|
|
332
|
+
return { newElementCreated, stopProcessing: true };
|
|
333
|
+
}
|
|
334
|
+
const path = application_1.getSettingsPathForPage(transferParameters.pageNameArray) + `/views`;
|
|
335
|
+
const views = common_1.getManifestSectionByPathV4(transferParameters.exportResults.manifest, path);
|
|
336
|
+
if (!views['paths'] || Object.keys(views['paths']).length === 0) {
|
|
337
|
+
views['paths'] = [
|
|
338
|
+
{
|
|
339
|
+
secondary: [
|
|
340
|
+
{
|
|
341
|
+
annotationPath: configObject[key].annotationPath
|
|
342
|
+
}
|
|
343
|
+
]
|
|
344
|
+
}
|
|
345
|
+
];
|
|
346
|
+
newElementCreated = true;
|
|
347
|
+
}
|
|
348
|
+
else if (!views['paths'][0].secondary) {
|
|
349
|
+
views['paths'][0].secondary = [
|
|
350
|
+
{
|
|
351
|
+
annotationPath: configObject[key].annotationPath
|
|
352
|
+
}
|
|
353
|
+
];
|
|
354
|
+
newElementCreated = true;
|
|
355
|
+
}
|
|
356
|
+
return { newElementCreated, stopProcessing: false };
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Creates an ALP 'views' entry in the resulting manifest if not yet existing yet
|
|
360
|
+
* Adds the primary = chart view if missing.
|
|
361
|
+
* @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
|
|
362
|
+
* @param configObject - current object in config.json
|
|
363
|
+
* @returns
|
|
364
|
+
* - a boolean indicating that the views entry got created.
|
|
365
|
+
* - a boolean indicating if the processing of sub-objects shall be stopped
|
|
366
|
+
*/
|
|
367
|
+
function createALPChartView(transferParameters, configObject, key) {
|
|
368
|
+
let newElementCreated = false;
|
|
369
|
+
if (!configObject[key] || Object.keys(configObject[key]).length === 0) {
|
|
370
|
+
return { newElementCreated, stopProcessing: true };
|
|
371
|
+
}
|
|
372
|
+
const path = application_1.getSettingsPathForPage(transferParameters.pageNameArray) + `/views`;
|
|
373
|
+
const views = common_1.getManifestSectionByPathV4(transferParameters.exportResults.manifest, path);
|
|
374
|
+
if (!views['paths'] || Object.keys(views['paths']).length === 0) {
|
|
375
|
+
views['paths'] = [
|
|
376
|
+
{
|
|
377
|
+
primary: [
|
|
378
|
+
{
|
|
379
|
+
annotationPath: configObject[key].annotationPath
|
|
380
|
+
}
|
|
381
|
+
]
|
|
382
|
+
}
|
|
383
|
+
];
|
|
384
|
+
newElementCreated = true;
|
|
385
|
+
}
|
|
386
|
+
else if (!views['paths'][0].primary) {
|
|
387
|
+
views['paths'][0].primary = [
|
|
388
|
+
{
|
|
389
|
+
annotationPath: configObject[key].annotationPath
|
|
390
|
+
}
|
|
391
|
+
];
|
|
392
|
+
newElementCreated = true;
|
|
393
|
+
}
|
|
394
|
+
if (!views['paths'][0].secondary) {
|
|
395
|
+
views['paths'][0].secondary = [
|
|
396
|
+
{
|
|
397
|
+
annotationPath: configObject?.table?.annotationPath || 'com.sap.vocabularies.UI.v1.LineItem'
|
|
398
|
+
}
|
|
399
|
+
];
|
|
400
|
+
}
|
|
401
|
+
return { newElementCreated, stopProcessing: false };
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Creates an LR 'views' entry in the resulting manifest if not yet existing yet.
|
|
405
|
+
* Adds the current table view if missing.
|
|
406
|
+
* @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
|
|
407
|
+
* @param configObject - current object in config.json
|
|
408
|
+
* @returns a boolean indicating that the views entry got created.
|
|
409
|
+
*/
|
|
410
|
+
function createLRTableView(index, transferParameters, key, configObject) {
|
|
411
|
+
if (!configObject || Object.keys(configObject).length === 0) {
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
414
|
+
let newElementCreated = false;
|
|
415
|
+
const path = application_1.getSettingsPathForPage(transferParameters.pageNameArray) + `/views`;
|
|
416
|
+
const views = common_1.getManifestSectionByPathV4(transferParameters.exportResults.manifest, path);
|
|
417
|
+
const newEntry = {
|
|
418
|
+
key: configObject['key'],
|
|
419
|
+
annotationPath: configObject.annotationPath
|
|
420
|
+
};
|
|
421
|
+
if (!views['paths'] || Object.keys(views['paths']).length === 0) {
|
|
422
|
+
//No views yet
|
|
423
|
+
views['paths'] = [newEntry];
|
|
424
|
+
newElementCreated = true;
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
const existingIndex = views['paths'].findIndex((view) => view.key === configObject['key'] || view.key === key);
|
|
428
|
+
if (existingIndex === -1) {
|
|
429
|
+
//Given view does not exist yet
|
|
430
|
+
views['paths'].push(newEntry);
|
|
431
|
+
newElementCreated = true;
|
|
432
|
+
}
|
|
433
|
+
else if (existingIndex !== configObject.index) {
|
|
434
|
+
//Reordering scenario
|
|
435
|
+
const savedContent = JSON.parse(JSON.stringify(views['paths'][existingIndex]));
|
|
436
|
+
views['paths'].splice(existingIndex, 1);
|
|
437
|
+
views['paths'].splice(index, 0, savedContent);
|
|
438
|
+
newElementCreated = true;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
return newElementCreated;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Special logic to create new elements in manifest
|
|
445
|
+
* @param definitionName - schema definition name of the current object
|
|
446
|
+
* @param key - key of the current object
|
|
447
|
+
* @param configObject - current object in config.json
|
|
448
|
+
* @param breadcrumbs - array of sequence of properties that we are currently processing. Required for instance for table column name
|
|
449
|
+
* @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
|
|
450
|
+
* @returns newElementCreated - boolean value to indicate that a new element was created ==> no further sync rule on this level
|
|
451
|
+
*/
|
|
452
|
+
function createNewElement(index, definitionName, key, configObject, breadcrumbs, transferParameters, preprocessed = false) {
|
|
453
|
+
let newElementCreated = false;
|
|
454
|
+
const stopProcessing = false;
|
|
455
|
+
if (definitionName && !preprocessed) {
|
|
456
|
+
if (definitionName.startsWith(common_1.DefinitionName.CustomColumn)) {
|
|
457
|
+
newElementCreated = exportCustomColumn_1.createNewCustomColumn(key, transferParameters, configObject[key], transferParameters.logger, breadcrumbs);
|
|
458
|
+
}
|
|
459
|
+
else if (definitionName === common_1.DefinitionName.ALPChartView && key === common_1.PropertyName.chart && configObject) {
|
|
460
|
+
return createALPChartView(transferParameters, configObject, key);
|
|
461
|
+
}
|
|
462
|
+
else if (definitionName === common_1.DefinitionName.ALPTableView && key === common_1.PropertyName.table && configObject) {
|
|
463
|
+
return createALPTableView(transferParameters, configObject, key);
|
|
464
|
+
}
|
|
465
|
+
else if (key &&
|
|
466
|
+
(definitionName.startsWith(common_1.DefinitionName.LRTableView) ||
|
|
467
|
+
definitionName.startsWith(common_1.DefinitionName.LRChartView))) {
|
|
468
|
+
newElementCreated = createLRTableView(index, transferParameters, key, configObject[key]);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
return { newElementCreated, stopProcessing };
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Transfers one entry of a list (aka one property of the config) to the manifest
|
|
475
|
+
* @param {TransferEntryParameters} parameters - list of parameters
|
|
476
|
+
* @param parentIds - array of collected parent ids
|
|
477
|
+
* @param stableIdParts - list of parts of the stable ID for flex changes
|
|
478
|
+
* @param preprocessed - indicates that the list was already preprocessed by following the config order
|
|
479
|
+
*/
|
|
480
|
+
function transferSortedListEntry(parameters, parentIds, stableIdParts, preprocessed = false) {
|
|
481
|
+
const currentConfigObject = parameters.configObject[parameters.key];
|
|
482
|
+
const childId = common_1.getChildId(parameters.configObject, parameters.key);
|
|
483
|
+
const nextDefinition = utils_1.getNextTargetDefinition(parameters.transferParameters.appSchema, parameters.transferParameters.title, currentConfigObject, parameters.propertyDefinition, parameters.key, parameters.transferParameters.factory, parameters.transferParameters.pageType);
|
|
484
|
+
const { newElementCreated, stopProcessing } = createNewElement(parameters.index, parameters.propertyDefinition.$ref?.split(common_1.DEFINITION_LINK_PREFIX)[1], parameters.key, parameters.configObject, parameters.breadcrumbs, parameters.transferParameters, preprocessed);
|
|
485
|
+
const ids = childId ? [...parentIds, childId] : [...parentIds, parameters.key];
|
|
486
|
+
if (!newElementCreated) {
|
|
487
|
+
evaluateExportRule(parameters.transferParameters, parameters.breadcrumbs, parameters.key, parameters.configObject, ids, parameters.propertyDefinition, nextDefinition);
|
|
488
|
+
}
|
|
489
|
+
if (parameters.propertyDefinition &&
|
|
490
|
+
((typeof currentConfigObject === 'object' && Object.keys(currentConfigObject).length !== 0) ||
|
|
491
|
+
(parameters.propertyDefinition.$ref && nextDefinition.configObject)) &&
|
|
492
|
+
!stopProcessing) {
|
|
493
|
+
const localIdParts = childId ? [...stableIdParts, childId] : stableIdParts;
|
|
494
|
+
transferSubObject(parameters, nextDefinition, currentConfigObject, ids, localIdParts);
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Function for special handling of anyOf definitions during the export
|
|
499
|
+
* @param {TransferEntryParameters} parameters - list of parameters
|
|
500
|
+
* @param anyOfDefinitions - the array of definitions from the anyOf (of additionalProperties)
|
|
501
|
+
* @param schemaDefinition - parent definition, comprising properties as well as additionalProperties
|
|
502
|
+
* @param parentIds - array of collected parent ids
|
|
503
|
+
* @param stableIdParts - list of parts of the stable ID for flex changes
|
|
504
|
+
* @returns
|
|
505
|
+
*/
|
|
506
|
+
function transferConfigEntriesWithAnyOfDefinitions(transferEntryParameters, anyOfDefinitions, schemaDefinition, parentIds, stableIdParts) {
|
|
507
|
+
let preprocessed = false;
|
|
508
|
+
if (anyOfDefinitions) {
|
|
509
|
+
const configEntries = Object.entries(transferEntryParameters.configObject);
|
|
510
|
+
if (!configEntries || configEntries.length < 1) {
|
|
511
|
+
return preprocessed;
|
|
512
|
+
}
|
|
513
|
+
configEntries.sort((a, b) => a[1]['index'] - b[1]['index']);
|
|
514
|
+
//follow the config order, to support reordering
|
|
515
|
+
configEntries.forEach((configEntry) => {
|
|
516
|
+
if (schemaDefinition.properties[configEntry[0]]) {
|
|
517
|
+
transferEntryParameters.key = configEntry[0];
|
|
518
|
+
transferEntryParameters.propertyDefinition = schemaDefinition.properties[configEntry[0]];
|
|
519
|
+
//already part of schema
|
|
520
|
+
transferSortedListEntry(transferEntryParameters, parentIds, stableIdParts);
|
|
521
|
+
preprocessed = true;
|
|
522
|
+
}
|
|
523
|
+
else if (typeof configEntry[1] === 'object') {
|
|
524
|
+
//match against potential schema definitions
|
|
525
|
+
anyOfDefinitions.forEach((anyOfDefinition) => {
|
|
526
|
+
if (anyOfDefinition.$ref) {
|
|
527
|
+
transferEntryParameters.key = configEntry[0];
|
|
528
|
+
transferEntryParameters.propertyDefinition = anyOfDefinition;
|
|
529
|
+
transferSortedListEntry(transferEntryParameters, parentIds, stableIdParts);
|
|
530
|
+
preprocessed = true;
|
|
531
|
+
}
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
transferEntryParameters.index++;
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
return preprocessed;
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* Method updates list of definition entries from schema with entries for insertion based on `additionalProperties` entry.
|
|
541
|
+
* @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API.
|
|
542
|
+
* @param {Definition} additionalProperties - allowed additional properties.
|
|
543
|
+
* @param {[string, DefinitionOrBoolean][]} list - list with entries.
|
|
544
|
+
* @param {{ [key: string]: unknown }} configObject - configuration object.
|
|
545
|
+
*/
|
|
546
|
+
function mergeEntriesForInsert(transferParameters, additionalProperties, list, configObject) {
|
|
547
|
+
let properties = additionalProperties?.properties;
|
|
548
|
+
let required = additionalProperties?.required;
|
|
549
|
+
if (!properties && additionalProperties?.$ref) {
|
|
550
|
+
const reference = additionalProperties?.$ref;
|
|
551
|
+
const definition = transferParameters.appSchema.definitions[reference.split(common_1.DEFINITION_LINK_PREFIX)[1]];
|
|
552
|
+
if (typeof definition === 'object') {
|
|
553
|
+
properties = definition.properties;
|
|
554
|
+
required = definition.required;
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
if (!properties) {
|
|
558
|
+
return;
|
|
559
|
+
}
|
|
560
|
+
required = required || [];
|
|
561
|
+
// Merge new entries for creation into list
|
|
562
|
+
for (const key in configObject) {
|
|
563
|
+
const entry = configObject[key];
|
|
564
|
+
// Check if entry from config does not exist in list - potential insert.
|
|
565
|
+
// Additionally check if interface of config entry matches additionalProperties - all required properties should exist in entry
|
|
566
|
+
if (typeof entry === 'object' &&
|
|
567
|
+
!list.some((item) => item[0] === key) &&
|
|
568
|
+
required.every((property) => entry[property])) {
|
|
569
|
+
list.push([key, additionalProperties]);
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* Recursive function that traverses the content of the current object. It reads decorators and fills exportResultManifest entries and flex changes
|
|
575
|
+
* @param {TransferParameterTypeV4} transferParameters - list of parameters passed from API
|
|
576
|
+
* @param configObject - current object to traverse
|
|
577
|
+
* @param parentIds - array of collected parent ids
|
|
578
|
+
* @param stableIdParts - list of parts of the stable ID for flex changes
|
|
579
|
+
* @param breadcrumbs - array of sequence of properties that we are currently processing. Required for instance for table column name
|
|
580
|
+
* @param schemaDefinition - the current entry point or definition in the app schema
|
|
581
|
+
* @param title - the title to be used for the given schema definition
|
|
582
|
+
*/
|
|
583
|
+
function transferManifestEntriesAndFlexChange(transferParameters, configObject, parentIds, stableIdParts, breadcrumbs, schemaDefinition) {
|
|
584
|
+
if (!schemaDefinition?.properties) {
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
let index = 0;
|
|
588
|
+
//In case of additionalProperties = flexible array definition ==> new entries from the config shall be exported too
|
|
589
|
+
const transferEntryParameters = {
|
|
590
|
+
transferParameters,
|
|
591
|
+
breadcrumbs,
|
|
592
|
+
key: undefined,
|
|
593
|
+
index,
|
|
594
|
+
configObject,
|
|
595
|
+
propertyDefinition: undefined
|
|
596
|
+
};
|
|
597
|
+
const additionalProperties = schemaDefinition.additionalProperties;
|
|
598
|
+
const anyOfDefinitions = additionalProperties?.anyOf;
|
|
599
|
+
const preprocessed = transferConfigEntriesWithAnyOfDefinitions(transferEntryParameters, anyOfDefinitions, schemaDefinition, parentIds, stableIdParts);
|
|
600
|
+
//Sort if there is a propertyIndex, so that the exported list ends up in manifest in the right order
|
|
601
|
+
let sortedList = schemaDefinition.properties && Object.entries(schemaDefinition.properties);
|
|
602
|
+
if (sortedList) {
|
|
603
|
+
if (sortedList[0]?.[1][common_1.SchemaTag.propertyIndex]) {
|
|
604
|
+
sortedList = Object.entries(schemaDefinition.properties).sort((a, b) => a[1][common_1.SchemaTag.propertyIndex] - b[1][common_1.SchemaTag.propertyIndex]);
|
|
605
|
+
}
|
|
606
|
+
if (additionalProperties?.$ref) {
|
|
607
|
+
// Merge new entries for creation into list
|
|
608
|
+
mergeEntriesForInsert(transferParameters, additionalProperties, sortedList, configObject);
|
|
609
|
+
}
|
|
610
|
+
index = 0;
|
|
611
|
+
sortedList.forEach((element) => {
|
|
612
|
+
transferEntryParameters.key = element[0];
|
|
613
|
+
transferEntryParameters.propertyDefinition = element[1];
|
|
614
|
+
transferEntryParameters.index = index;
|
|
615
|
+
transferSortedListEntry(transferEntryParameters, parentIds, stableIdParts, preprocessed);
|
|
616
|
+
if (element[1].$ref) {
|
|
617
|
+
index++;
|
|
618
|
+
}
|
|
619
|
+
});
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Instantiates the export classes for a single object page section
|
|
624
|
+
* @param sectionId - Current section ID
|
|
625
|
+
*/
|
|
626
|
+
function getClassesForSingleSection(objectPageConfig, sectionId, factory) {
|
|
627
|
+
if (sectionId === 'custom' && Array.isArray(objectPageConfig.sections[sectionId])) {
|
|
628
|
+
// Custom sections
|
|
629
|
+
const customSections = objectPageConfig.sections
|
|
630
|
+
.custom;
|
|
631
|
+
for (let index = 0; index < customSections.length; index++) {
|
|
632
|
+
customSections[index] = factory.createInstance(ux_specification_types_1.PageType.ObjectPage, 'ObjectPageCustomSectionView', customSections[index], customSections[index].className);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* Recursive sub-function for handling subsections
|
|
638
|
+
* @param section - Object page section in config
|
|
639
|
+
*/
|
|
640
|
+
function getSubsectionClasses(section, factory) {
|
|
641
|
+
if (section['subsections']) {
|
|
642
|
+
let subSection;
|
|
643
|
+
for (const subSectionId in section['subsections']) {
|
|
644
|
+
subSection = section['subsections'][subSectionId];
|
|
645
|
+
getClassesForSingleSection(subSection, subSectionId, factory);
|
|
646
|
+
getSubsectionClasses(subSection, factory);
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Instantiates the export classes for the object page section
|
|
652
|
+
* @param objectPageConfig - the given object page configuration
|
|
653
|
+
* @param objectPage - the overall object page export class where the sections shall be included
|
|
654
|
+
*/
|
|
655
|
+
function getExportClassesForSections(objectPageConfig, objectPage, factory) {
|
|
656
|
+
let section;
|
|
657
|
+
for (const sectionId in objectPageConfig.sections) {
|
|
658
|
+
section = objectPage.sections[sectionId];
|
|
659
|
+
getClassesForSingleSection(objectPageConfig, sectionId, factory);
|
|
660
|
+
getSubsectionClasses(section, factory);
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* Run through the given ObjectPage config and return respective exportResultManifest entry and flex changes
|
|
665
|
+
* @param appId - id of the Fiori elements app, which is usually namespace.appid
|
|
666
|
+
* @param objectPageConfig - content of the src/ObjectPage_<entity_set>.json file
|
|
667
|
+
* @param manifest - manifest of the application
|
|
668
|
+
* @param pageName - routing target defined in manifest
|
|
669
|
+
*/
|
|
670
|
+
const exportObjectPage = (exportParameters, ui5Version) => {
|
|
671
|
+
const exportResults = defaultExportResult;
|
|
672
|
+
exportResults.manifest = JSON.parse(JSON.stringify(exportParameters.manifest));
|
|
673
|
+
const factory = new factory_1.MetadataInstanceFactoryV4();
|
|
674
|
+
const objectPage = factory.createPageInstance(ux_specification_types_1.PageType.ObjectPage, exportParameters.page.config);
|
|
675
|
+
const pageLayoutInformation = common_1.getPageLayoutInformation(objectPage);
|
|
676
|
+
const pageName = exportParameters.page.name;
|
|
677
|
+
const baseId = `${exportParameters.appId}::${pageLayoutInformation.id}::${pageName}--`;
|
|
678
|
+
if (exportParameters.page.config?.[common_1.PropertyName.sections]) {
|
|
679
|
+
getExportClassesForSections(exportParameters.page.config, objectPage, factory);
|
|
680
|
+
}
|
|
681
|
+
const transferParameters = {
|
|
682
|
+
exportResults,
|
|
683
|
+
appId: exportParameters.appId,
|
|
684
|
+
appRootPath: exportParameters.appRootPath,
|
|
685
|
+
baseId,
|
|
686
|
+
appSchema: exportParameters.jsonSchema,
|
|
687
|
+
config: objectPage,
|
|
688
|
+
ui5Version,
|
|
689
|
+
factory,
|
|
690
|
+
pageNameArray: [pageName],
|
|
691
|
+
pageType: ux_specification_types_1.PageType.ObjectPage,
|
|
692
|
+
title: undefined,
|
|
693
|
+
templateType: utils_1.TemplateType.ListReportObjectPageV4
|
|
694
|
+
};
|
|
695
|
+
transferManifestEntriesAndFlexChange(transferParameters, objectPage, [], //no parentIds
|
|
696
|
+
[], // no stableIds
|
|
697
|
+
[], // no breadcrumbs
|
|
698
|
+
exportParameters.jsonSchema //starting point for target definition
|
|
699
|
+
);
|
|
700
|
+
return exportResults;
|
|
701
|
+
};
|
|
702
|
+
/**
|
|
703
|
+
* Run through the given List Page (LR or ALP) config and return respective exportResultManifest entry and flex changes
|
|
704
|
+
* @param {ExportListReportV4Parameters} exportParameters - all API parameters needed for the export
|
|
705
|
+
* @param config - content of the config file
|
|
706
|
+
* @param {PageTypeV4} - pageType - Page type
|
|
707
|
+
* @param ui5Version - SAP UI5 version
|
|
708
|
+
*/
|
|
709
|
+
const exportListPage = (exportParameters, factory, config, pageType, ui5Version, templateType) => {
|
|
710
|
+
const exportResults = defaultExportResult;
|
|
711
|
+
exportResults.manifest = JSON.parse(JSON.stringify(exportParameters.manifest));
|
|
712
|
+
const appSchema = exportParameters.jsonSchema;
|
|
713
|
+
const definitionName = config.table?.[common_1.PropertyName.annotationPath]
|
|
714
|
+
? common_1.DefinitionName.ALPTableView
|
|
715
|
+
: common_1.DefinitionName.Table;
|
|
716
|
+
const tableDefinition = (config.table = factory.createInstance(pageType, definitionName, config.table));
|
|
717
|
+
let tableDefinitionName = common_1.DefinitionName.LineItems;
|
|
718
|
+
if (appSchema.definitions[common_1.DefinitionName.TableSPV]) {
|
|
719
|
+
const tableRef = appSchema.definitions[common_1.DefinitionName.TableSPV].properties.columns['$ref'];
|
|
720
|
+
tableDefinitionName = tableRef.split(common_1.DEFINITION_LINK_PREFIX)[1];
|
|
721
|
+
}
|
|
722
|
+
const appSchemaActions = appSchema.definitions[`${common_1.DefinitionName.Actions}<${tableDefinitionName}>`];
|
|
723
|
+
if (tableDefinition.toolBar?.actions && appSchemaActions) {
|
|
724
|
+
for (const actionKey in appSchemaActions.properties) {
|
|
725
|
+
tableDefinition.toolBar.actions[actionKey] = factory.createInstance(pageType, common_1.DefinitionName.ToolBarAction, tableDefinition.toolBar.actions[actionKey]);
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
const pageLayoutInformation = common_1.getPageLayoutInformation(config);
|
|
729
|
+
const pageName = exportParameters.page.name;
|
|
730
|
+
const baseId = `${exportParameters.appId}::${pageLayoutInformation.id}::${pageName}--`;
|
|
731
|
+
if (!exportResults.manifest[ux_specification_types_1.ManifestSection.ui5].routing.targets[pageName]) {
|
|
732
|
+
const newTarget = getNewRoutingTarget(pageLayoutInformation.pageId, pageName);
|
|
733
|
+
exportResults.manifest[ux_specification_types_1.ManifestSection.ui5].routing.targets[pageName] = newTarget;
|
|
734
|
+
}
|
|
735
|
+
const transferParameters = {
|
|
736
|
+
exportResults,
|
|
737
|
+
appId: exportParameters.appId,
|
|
738
|
+
appRootPath: exportParameters.appRootPath,
|
|
739
|
+
baseId,
|
|
740
|
+
appSchema,
|
|
741
|
+
config,
|
|
742
|
+
ui5Version,
|
|
743
|
+
factory,
|
|
744
|
+
pageNameArray: [pageName],
|
|
745
|
+
pageType: ux_specification_types_1.PageType.ListReport,
|
|
746
|
+
title: undefined,
|
|
747
|
+
logger: exportParameters.logger,
|
|
748
|
+
templateType
|
|
749
|
+
};
|
|
750
|
+
transferManifestEntriesAndFlexChange(transferParameters, config, [], //no parentIds
|
|
751
|
+
[], // no stableIds
|
|
752
|
+
[], // no breadcrumbs
|
|
753
|
+
appSchema //starting point for target definition
|
|
754
|
+
);
|
|
755
|
+
return exportResults;
|
|
756
|
+
};
|
|
757
|
+
/**
|
|
758
|
+
* Run through the given ListReport config and return respective exportResultManifest entry and flex changes
|
|
759
|
+
* @param {ExportListReportV4Parameters} exportParameters - all API parameters needed for the export
|
|
760
|
+
* @param ui5Version - SAP UI5 version
|
|
761
|
+
* @returns ExportResults - The export result comprises the enhanced manifest as well as a list of flex changes.
|
|
762
|
+
*/
|
|
763
|
+
const exportListReportPage = (exportParameters, ui5Version, templateType) => {
|
|
764
|
+
const factory = new factory_1.MetadataInstanceFactoryV4();
|
|
765
|
+
const listReport = factory.createPageInstance(ux_specification_types_1.PageType.ListReport, exportParameters.page.config);
|
|
766
|
+
return exportListPage(exportParameters, factory, listReport, ux_specification_types_1.PageTypeV4.ListReport, ui5Version, templateType);
|
|
767
|
+
};
|
|
768
|
+
/**
|
|
769
|
+
* Run through the given Analytical List Page config and return respective exportResultManifest entry and flex changes
|
|
770
|
+
* @param {ExportAnalyticalListPageV4Parameters} exportParameters - all API parameters needed for the export
|
|
771
|
+
* @param ui5Version - SAP UI5 version
|
|
772
|
+
* @returns ExportResults - The export result comprises the enhanced manifest as well as a list of flex changes.
|
|
773
|
+
*
|
|
774
|
+
* @returns ExportResults - The export result comprises the enhanced manifest as well as a list of flex changes.
|
|
775
|
+
*/
|
|
776
|
+
const exportAnalyticalListPage = (exportParameters, ui5Version) => {
|
|
777
|
+
return exportListReportPage(exportParameters, ui5Version, utils_1.TemplateType.AnalyticalListPageV4);
|
|
778
|
+
};
|
|
779
|
+
/**
|
|
780
|
+
* API for the export of a V4 app configuration
|
|
781
|
+
* Export means the transfer of the properties and values of the given config to manifest entries or flex changes
|
|
782
|
+
* @param application - V4 application (app.json config file)
|
|
783
|
+
* @param manifest - Manifest of the given app
|
|
784
|
+
* @param appSchema - App schema
|
|
785
|
+
*
|
|
786
|
+
* @returns ExportResults = object comprising the updated manifest and a list of flex changes
|
|
787
|
+
*/
|
|
788
|
+
const exportApplicationV4 = (application, manifest, appSchema) => {
|
|
789
|
+
const exportResults = defaultExportResult;
|
|
790
|
+
exportResults.manifest = JSON.parse(JSON.stringify(manifest));
|
|
791
|
+
const applicationV4 = Object.assign(new application_1.ApplicationV4(), application);
|
|
792
|
+
//transform application settings
|
|
793
|
+
applicationV4.settings = Object.assign(new application_1.AppSettings(), applicationV4.settings);
|
|
794
|
+
for (const key in appSchema.definitions.AppSettings.properties) {
|
|
795
|
+
const syncRule = common_1.getReflectMetadata(applicationV4.settings, key);
|
|
796
|
+
if (syncRule && syncRule.manifest) {
|
|
797
|
+
const path = syncRule.manifest.path();
|
|
798
|
+
const manifestSection = common_1.getManifestSectionByPathV4(exportResults.manifest, path);
|
|
799
|
+
if (syncRule.manifest.export) {
|
|
800
|
+
const exportParams = {
|
|
801
|
+
exportHandler: syncRule.manifest.export,
|
|
802
|
+
manifestSection,
|
|
803
|
+
configObject: application,
|
|
804
|
+
configPropertyKey: key,
|
|
805
|
+
manifestKey: key,
|
|
806
|
+
syncRuleKey: key
|
|
807
|
+
};
|
|
808
|
+
const propertyDefinition = appSchema.definitions.AppSettings.properties[key];
|
|
809
|
+
transferPropertyToManifest(exportParams, propertyDefinition, {});
|
|
810
|
+
}
|
|
811
|
+
else {
|
|
812
|
+
if (application.settings?.[key] !== undefined) {
|
|
813
|
+
manifestSection[key] = application.settings[key];
|
|
814
|
+
}
|
|
815
|
+
else {
|
|
816
|
+
delete manifestSection[key];
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
utils_1.deleteEmptyStructure(exportResults.manifest, path);
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
//transform routing
|
|
823
|
+
exportResults.manifest[ux_specification_types_1.ManifestSection.ui5].routing = manifest_1.transformRoutingV4(application['home'], application['pages'], exportResults.manifest);
|
|
824
|
+
// Update FCL data
|
|
825
|
+
flexibleColumnLayout_1.updateFcl(exportResults.manifest[ux_specification_types_1.ManifestSection.ui5], application);
|
|
826
|
+
return exportResults;
|
|
827
|
+
};
|
|
828
|
+
/**
|
|
829
|
+
* General API for the export of a V4 config page
|
|
830
|
+
* Export means the transfer of the properties and values of the given config to manifest entries or flex changes
|
|
831
|
+
* @param appId - Application ID
|
|
832
|
+
* @param page - Current page (config)
|
|
833
|
+
* @param manifest - Manifest of the given app
|
|
834
|
+
* @param jsonSchema - App schema
|
|
835
|
+
*
|
|
836
|
+
* @returns ExportResults = object comprising the updated manifest and a list of flex changes
|
|
837
|
+
*/
|
|
838
|
+
const exportPageV4 = (exportParametersV4, ui5Version) => {
|
|
839
|
+
if (exportParametersV4[ux_specification_types_1.SchemaType.ListReport]) {
|
|
840
|
+
return exportListReportPage(exportParametersV4[ux_specification_types_1.SchemaType.ListReport], ui5Version, utils_1.TemplateType.ListReportObjectPageV4);
|
|
841
|
+
}
|
|
842
|
+
else if (exportParametersV4[ux_specification_types_1.SchemaType.ObjectPage]) {
|
|
843
|
+
return exportObjectPage(exportParametersV4[ux_specification_types_1.SchemaType.ObjectPage], ui5Version);
|
|
844
|
+
}
|
|
845
|
+
else if (exportParametersV4[ux_specification_types_1.SchemaType.Application]) {
|
|
846
|
+
const { application, manifest, jsonSchema } = exportParametersV4[ux_specification_types_1.SchemaType.Application];
|
|
847
|
+
return exportApplicationV4(application, manifest, jsonSchema);
|
|
848
|
+
}
|
|
849
|
+
else if (exportParametersV4[ux_specification_types_1.SchemaType.AnalyticalListPage]) {
|
|
850
|
+
return exportAnalyticalListPage(exportParametersV4[ux_specification_types_1.SchemaType.AnalyticalListPage], ui5Version);
|
|
851
|
+
}
|
|
852
|
+
};
|
|
853
|
+
exports.exportPageV4 = exportPageV4;
|
|
854
|
+
//# sourceMappingURL=export.js.map
|