@sap/ux-specification 1.96.10 → 1.96.13

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +83 -16
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  3. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  4. package/dist/documentation/v2/v2-ListReport.html +1 -1
  5. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  6. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  7. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  8. package/dist/documentation/v4/v4-ListReport.html +1 -1
  9. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  10. package/dist/index-min.js +1 -1
  11. package/dist/schemas/v2/AnalyticalListPageConfig.json +10 -10
  12. package/dist/schemas/v2/ListReportConfig.json +15 -15
  13. package/dist/schemas/v2/ObjectPageConfig.json +204 -20
  14. package/dist/schemas/v4/ListReportConfig.json +22 -2
  15. package/dist/schemas/v4/ObjectPageConfig.json +36 -0
  16. package/dist/specification/v2/index-min.js +1 -1
  17. package/dist/src/apiTypes.d.ts +5 -4
  18. package/dist/src/project.d.ts +1 -0
  19. package/dist/src/specification/v2/controls/Action.d.ts +6 -4
  20. package/dist/src/specification/v2/controls/Facets.d.ts +2 -1
  21. package/dist/src/specification/v2/controls/ObjectPageHeader.d.ts +3 -2
  22. package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +44 -9
  23. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +5 -3
  24. package/dist/src/specification/v2/controls/Table.d.ts +7 -4
  25. package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +22 -1
  26. package/dist/src/specification/v4/controls/Table.d.ts +4 -0
  27. package/dist/src/sync/common/appProvider.d.ts +1 -1
  28. package/dist/src/sync/common/decoration/control.d.ts +1 -1
  29. package/dist/src/sync/common/decoration/decorators.d.ts +2 -2
  30. package/dist/src/sync/common/generate/objectPage.d.ts +8 -9
  31. package/dist/src/sync/common/generate/utils.d.ts +62 -13
  32. package/dist/src/sync/common/import/utils.d.ts +9 -2
  33. package/dist/src/sync/common/importProject.d.ts +2 -3
  34. package/dist/src/sync/common/types.d.ts +65 -9
  35. package/dist/src/sync/common/utils.d.ts +30 -23
  36. package/dist/src/sync/v2/application.d.ts +3 -3
  37. package/dist/src/sync/v2/export/controls/Action.d.ts +12 -10
  38. package/dist/src/sync/v2/export/controls/FormAction.d.ts +9 -7
  39. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +6 -4
  40. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +3 -2
  41. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +6 -4
  42. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +26 -14
  43. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +5 -3
  44. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +6 -4
  45. package/dist/src/sync/v2/export/controls/Table.d.ts +6 -3
  46. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +12 -10
  47. package/dist/src/sync/v2/export/export.d.ts +0 -1
  48. package/dist/src/sync/v2/export/manifest.d.ts +6 -0
  49. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +1 -1
  50. package/dist/src/sync/v2/generate/listReport.d.ts +3 -4
  51. package/dist/src/sync/v2/generate/utils.d.ts +11 -9
  52. package/dist/src/sync/v2/import/app/appProvider.d.ts +9 -0
  53. package/dist/src/sync/v2/types.d.ts +8 -3
  54. package/dist/src/sync/v4/application.d.ts +22 -10
  55. package/dist/src/sync/v4/export/controls/Table.d.ts +8 -2
  56. package/dist/src/sync/v4/export/types.d.ts +5 -5
  57. package/dist/src/sync/v4/generate/listReport.d.ts +2 -2
  58. package/dist/src/sync/v4/generate/objectPage.d.ts +1 -1
  59. package/dist/src/sync/v4/import/pages/objectPage.d.ts +13 -0
  60. package/dist/src/sync/v4/import/utils.d.ts +2 -1
  61. package/dist/src/sync/v4/types.d.ts +2 -0
  62. package/dist/src/sync/v4/utils/utils.d.ts +10 -11
  63. package/package.json +8 -8
@@ -1,25 +1,27 @@
1
- /// <reference types="@sapui5/ts-types" />
1
+ /// <reference types="@sapui5/ts-types-esm" />
2
2
  import type { TableColumn as TableColumnConfig, TableColumnAction as TableColumnActionConfig, TableCustomColumn as TableCustomColumnConfig, TableColumnExtensionTypeV2 } from '../../../../specification/v2';
3
3
  import type { SAPUI5_FRAGMENT_CLASS } from '../../../../specification/common/webapp/manifest';
4
+ import type { TextAlign, URI } from 'sap/ui/core/library';
5
+ import type { ButtonType } from 'sap/m/library';
4
6
  export declare class TableColumn implements TableColumnConfig {
5
7
  width?: string;
6
- hAlign?: sap.ui.core.TextAlign;
8
+ hAlign?: TextAlign;
7
9
  }
8
10
  export declare class TableColumnAction implements TableColumnActionConfig {
9
11
  width?: string;
10
- hAlign?: sap.ui.core.TextAlign;
12
+ hAlign?: TextAlign;
11
13
  tooltip?: string;
12
- icon?: sap.ui.core.URI;
13
- activeIcon?: sap.ui.core.URI;
14
- type?: sap.m.ButtonType;
14
+ icon?: URI;
15
+ activeIcon?: URI;
16
+ type?: ButtonType;
15
17
  }
16
18
  export declare class TableColumnActionIntentBased extends TableColumnAction {
17
19
  width?: string;
18
- hAlign?: sap.ui.core.TextAlign;
20
+ hAlign?: TextAlign;
19
21
  tooltip?: string;
20
- icon?: sap.ui.core.URI;
21
- activeIcon?: sap.ui.core.URI;
22
- type?: sap.m.ButtonType;
22
+ icon?: URI;
23
+ activeIcon?: URI;
24
+ type?: ButtonType;
23
25
  }
24
26
  /**
25
27
  * No sync rules are defined for table custom columns, as they are transferred altogether, by function exportToFragment.
@@ -15,7 +15,6 @@ export declare function transferManifestEntriesOVP(configObject: {
15
15
  }, exportResults: ExportResults, jsonSchema: object, targetDefinition: object, factory: MetadataInstanceInterface, pathHierarchy?: string[]): void;
16
16
  /**
17
17
  * Assign sync rules to {currentObject}
18
- *
19
18
  * @param {string} structureName - name of the complex structure in schema
20
19
  * @param {object} currentObject - the given part of the configuration
21
20
  * @param {string} defaultTypeName - name of the default type that shall be taken if no class is registered for structureName
@@ -17,4 +17,10 @@ export declare const ensureManifestSectionByPathV2: (manifest: object, path: str
17
17
  */
18
18
  export declare const getManifestSectionByPathV2: (manifest: object, path: string) => object;
19
19
  export declare const deleteManifestSectionByPathV2: (manifest: object, path: string) => void;
20
+ /**
21
+ * Transfers pages and routings from manifest to the config pages
22
+ * @param pageId - page ID
23
+ * @param configPages - config definitions of each page
24
+ * @param manifestPage - top page definition in manifest
25
+ */
20
26
  export declare function transformPageToNewManifestV2(pageId: string, configPages: Pages, manifestPage: object): void;
@@ -2,7 +2,7 @@ import type { OverviewPageConfig, ContainerLayoutType, ChartSettingsType, Filter
2
2
  import type { ListCard, AnalyticalCard, StackCard, LinklistCard, TableCard, CustomCard } from '../controls/Card';
3
3
  export declare function importDateSettingsOVP(manifestSection: object): DateRange;
4
4
  export declare function importFilterSettings(manifestSection: object): object;
5
- export declare function exportFilterSettings(manifestSection: unknown, configPart: FilterSettingsType): void;
5
+ export declare function exportFilterSettings(manifestSection: object, configPart: FilterSettingsType): void;
6
6
  declare type CardClassType = ListCard | AnalyticalCard | StackCard | LinklistCard | TableCard | CustomCard;
7
7
  export declare class OverviewPage implements OverviewPageConfig {
8
8
  globalFilterModel?: string;
@@ -1,15 +1,14 @@
1
1
  import type { GenerateAppSchemaParameters } from '../../../v2';
2
- import type { ConverterOutput, EntityType } from '@sap-ux/vocabularies-types';
3
- import type { EntitySet } from '@sap-ux/annotation-converter';
2
+ import type { ConvertedMetadata, EntitySet, EntityType } from '@sap-ux/vocabularies-types';
4
3
  import type { Definition } from 'typescript-json-schema';
5
4
  /**
6
5
  * Adds the enum types for QuickVariant and QuickVariantX, based on the entity type annotations
7
6
  * @param {EntityType} entityType
8
7
  * @param {EntitySet} entitySet - current entity set of the page or view
9
8
  * @param {Definition} appSchema - app specific JSON schema
10
- * @param {ConverterOutput} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
9
+ * @param {ConvertedMetadata} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
11
10
  */
12
- export declare function addEnumForVariantPaths(entityType: EntityType, entitySet: EntitySet, appSchema: Definition, oDataServiceAVT: ConverterOutput): void;
11
+ export declare function addEnumForVariantPaths(entityType: EntityType, entitySet: EntitySet, appSchema: Definition, oDataServiceAVT: ConvertedMetadata): void;
13
12
  /**
14
13
  * Generates an app specific schema for the FE V2 Listreport from the generic schema.
15
14
  * Generic types are replaced by information from the app specific annotations.
@@ -1,13 +1,15 @@
1
+ import type { Definition } from 'typescript-json-schema';
1
2
  import type { FileData } from '../../common';
2
- import type { AnnotationTerm, EntityType, LineItem, SelectionFields } from '@sap-ux/vocabularies-types';
3
- import type { SapUiAppPageV2 } from '../../../specification/v2';
4
3
  import type { MetadataInstanceInterface } from '../../common/decoration/factory';
5
4
  import type { PageType, PageTypeV4 } from '../../../specification/common';
5
+ import type { SapUiAppPageV2 } from '../../../specification/v2';
6
+ import type { AnnotationTerm, EntityType } from '@sap-ux/vocabularies-types';
7
+ import type { LineItem, SelectionFields } from '@sap-ux/vocabularies-types/vocabularies/UI';
6
8
  import { ActionTypeV2 } from '../types';
7
9
  /**
8
10
  * Processes a LineItem record of type DataFieldForAction and DataFieldForIntentBasedNavigation during app schema generation
9
11
  * @param appSchema - the app specific schema that shall get enhanced
10
- * @param entityType - the entity type as part of the AVT ConverterOutput
12
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
11
13
  * @param actions - actions definition in schema, parent object
12
14
  * @param lineItemProperties - properties of the line item collection: lineItemPath, lineItemRecord, lineItemId
13
15
  * @param actionType - type of action
@@ -23,16 +25,16 @@ export declare function handleActionRecord(appSchema: object, actions: object, l
23
25
  * Adds the line item records to the app schema (for the list report or an object page section comprising a table)
24
26
  * @param appSchema - the app specific schema that shall get enhanced
25
27
  * @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
26
- * @param entityType - the entity type as part of the AVT ConverterOutput
28
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
27
29
  * @param lineItemId - optional: in case of OP the parameter must be passed to distinguish the OP tables;
28
30
  * in case of LR or ALP no ID is passed, 'LineItems' is taken then.
29
31
  * @param customColumnRef - schema reference to custom column definition.
30
32
  */
31
- export declare function addLineItemsType(appSchema: object, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId?: string, customColumnRef?: string): void;
33
+ export declare function addLineItemsType(appSchema: Definition, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId?: string, customColumnRef?: string): void;
32
34
  /**
33
35
  * Adds enum entries of possible leading properties for 'leadingProperty' property in TableCustomColumn properties.
34
36
  * @param appSchema - the app specific schema that shall get enhanced
35
- * @param entityType - the entity type as part of the AVT ConverterOutput
37
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
36
38
  * @param definitionName - definition name of CustomColumn definition
37
39
  */
38
40
  export declare function addListReportLeadingProperties(appSchema: object, entityType: EntityType, definitionName: string): void;
@@ -51,11 +53,11 @@ export declare function addTabkeyEnum(appSchema: object, definitionName: string,
51
53
  * @param {string} property Property name.
52
54
  * @param {string} definitionName Definition name of CustomColumn definition.
53
55
  */
54
- export declare function addFragmentEnum(appSchema: object, fragments: FileData[], appId: string, property: string, definitionName: string): void;
56
+ export declare function addFragmentEnum(appSchema: Definition, fragments: FileData[], appId: string, property: string, definitionName: string): void;
55
57
  /**
56
58
  * Adds the custom columns to the line item records of the app schema (for the list report comprising a table).
57
59
  * @param {object} appSchema The app specific schema that shall get enhanced.
58
- * @param {EntityType} entityType The entity type as part of the AVT ConverterOutput.
60
+ * @param {EntityType} entityType The entity type as part of the AVT ConvertedMetadata.
59
61
  * @param {SapUiAppPageV2} page Sapui5 page object.
60
62
  * @param {object} manifest Application manifest.
61
63
  * @param {FileData[]} [fragments] Array of fragments.
@@ -81,7 +83,7 @@ export declare function processMetadata(schema: object, schemaDefinition: object
81
83
  export declare function removeElementsFromEnum(values: Array<unknown>, valuesToRemove: Array<unknown>): void;
82
84
  /**
83
85
  * Adds the selection fields to the app schema, as properties of the Filterbar
84
- * @param entityType - the entity type as part of the AVT ConverterOutput
86
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
85
87
  * @param appSchema - the app specific schema that shall get enhanced
86
88
  * @param selectionFieldsAnnotation - the UI.SelectionField annotation
87
89
  */
@@ -3,7 +3,16 @@ import type { Manifest } from '../../../../specification/common';
3
3
  import { AppProvider } from '../../../common/appProvider';
4
4
  import type { FileData, Files } from '../../../common';
5
5
  import type { ExtensionLogger } from '../../../../v2';
6
+ /**
7
+ * The V2AppProvider collects all the app information for a Fiori Elements V2 app
8
+ */
6
9
  export declare class V2AppProvider extends AppProvider {
7
10
  constructor(manifest: Manifest, changes: string[], schemas: Files, fragments?: FileData[], logger?: ExtensionLogger);
8
11
  }
12
+ /**
13
+ * Collects all pages of a V2 app from the manifest, by traversing the V2 page hierarchy.
14
+ * @param v2Pages - entry point = complex page definition in manifest
15
+ * @param componentName - Component name
16
+ * @returns index table of pages
17
+ */
9
18
  export declare function getPages(v2Pages: SapUiAppPagesV2, componentName: string): Pages;
@@ -5,6 +5,7 @@ import type { MetadataFactory, MetadataInstanceInterface } from '../common/decor
5
5
  import type { ExportResults } from '../common';
6
6
  import type * as v2controls from './export/controls';
7
7
  import type * as v2pages from './export/pages';
8
+ import type { Definition } from 'typescript-json-schema';
8
9
  export declare type V2Controls = typeof v2controls;
9
10
  export declare type V2Pages = typeof v2pages;
10
11
  export declare type TransferParameterTypeV2 = {
@@ -27,13 +28,17 @@ export declare const TREETABLE = "TreeTable<LineItems>";
27
28
  export declare const ANALYTICALTABLE = "AnalyticalTable<LineItems>";
28
29
  export declare const GRIDTABLE = "GridTable<LineItems>";
29
30
  export declare enum SectionTypeV2 {
31
+ SectionAddress = "ObjectPageSectionAddressV2",
32
+ SectionChart = "ObjectPageSectionChartV2",
33
+ SectionContact = "ObjectPageSectionContactV2",
34
+ SectionForm = "ObjectPageSectionFormV2",
30
35
  Section = "ObjectPageSectionV2",
31
36
  SubSection = "ObjectPageSubSectionV2",
32
- SectionForm = "ObjectPageSectionFormV2",
33
37
  SectionTable = "ObjectPageSectionTableV2",
34
- SectionChart = "ObjectPageSectionChartV2",
35
38
  SubSectionForm = "ObjectPageSubSectionFormV2",
36
39
  SubSectionTable = "ObjectPageSubSectionTableV2",
40
+ SubSectionAddress = "ObjectPageSubSectionAddressV2",
41
+ SubSectionContact = "ObjectPageSubSectionContactV2",
37
42
  SubSectionChart = "ObjectPageSubSectionChartV2"
38
43
  }
39
44
  export declare enum ActionTypeV2 {
@@ -59,5 +64,5 @@ export declare type ObjectPageV2ConfigParameters = {
59
64
  export declare type SectionPartProperties = {
60
65
  id: string;
61
66
  type: SectionTypeV2;
62
- schema: object;
67
+ schema: Definition;
63
68
  };
@@ -6,16 +6,28 @@ export declare const getSettingsPathForPage: (pageName: string[]) => string;
6
6
  export declare const getSettingsPathForLRViewsPaths: (pageName: string[]) => string;
7
7
  export declare const getSettingsPathForHeaderOP: (pageName: string[]) => string;
8
8
  export declare const getControlConfigurationPath: (pageName: string[]) => string;
9
- export declare const getHeaderFacetSettingPath: (pageName: string[], manifest: Manifest, sectionId: string) => string;
10
- export declare const getTableSettingsPathForLR: (pageName: string[]) => string;
11
- export declare const getColumnsPathForLR: (pageName: string[], manifest: Manifest, sectionId: string, columnKey: string) => string;
12
- export declare const getColumnsPathForView: (pageName: string[], manifest: Manifest, targetAnnotationEncoded: string, columnKey: string, targetAnnotation: string) => string;
13
- export declare const getActionsPathForLR: (pageName: string[], manifest: Manifest, sectionId: string, columnKey: string) => string;
14
- export declare const getActionsPathForView: (pageName: string[], manifest: Manifest, targetAnnotationEncoded: string, columnKey: string, targetAnnotation: string) => string;
15
- export declare const getColumnsPathForOP: (pageName: string[], manifest: Manifest, sectionId: string, columnKey: string) => string;
16
- export declare const getActionsPathForOP: (pageName: string[], manifest: Manifest, sectionId: string, columnKey: string) => string;
17
- export declare const getTableSettingsPathForOP: (pageName: string[], manifest: Manifest, sectionId: string) => string;
18
- export declare const getCustomSectionPath: (pageName: string[], manifest: Manifest, sectionId: string, pathPart?: string) => string;
9
+ export declare const getHeaderFacetSettingPath: (pageName: string[], _manifest: Manifest, sectionId: string) => string;
10
+ /**
11
+ * Common function that calculates the path in manifest for table settings of a list report or ALP table view
12
+ * @param pageName - page name in manifest
13
+ * @param manifest - manifest (not used)
14
+ * @param targetAnnotationEncoded - encoded target annotation (not used)
15
+ * @param viewKey - view key (not used)
16
+ * @param targetAnnotation - target annotation, i.e. the line item (with or without qualifier)
17
+ * @returns - path as string
18
+ */
19
+ export declare const getTableSettingsPathForView: (pageName: string[], _manifest: Manifest, _targetAnnotationEncoded: string, _viewKey: string, targetAnnotation: string) => string;
20
+ export declare const getExportSectionId: (sectionId: any) => string;
21
+ export declare const getTableSettingsPathForLR: (pageName: string[], manifest: Manifest, targetAnnotationEncoded: string, columnKey: string, targetAnnotation: string) => string;
22
+ export declare const getQuickVariantPath: (pageName: string[], manifest: Manifest, targetAnnotationEncoded: string, columnKey: string, targetAnnotation: string) => string;
23
+ export declare const getColumnsPathForView: (pageName: string[], _manifest: Manifest, targetAnnotationEncoded: string, columnKey: string, targetAnnotation: string) => string;
24
+ export declare const getColumnsPathForLR: (pageName: string[], manifest: Manifest, targetAnnotationEncoded: string, columnKey: string, targetAnnotation: string) => string;
25
+ export declare const getActionsPathForView: (pageName: string[], _manifest: Manifest, _targetAnnotationEncoded: string, columnKey: string, targetAnnotation: string) => string;
26
+ export declare const getActionsPathForLR: (pageName: string[], manifest: Manifest, targetAnnotationEncoded: string, columnKey: string, targetAnnotation: string) => string;
27
+ export declare const getColumnsPathForOP: (pageName: string[], _manifest: Manifest, sectionId: string, columnKey: string) => string;
28
+ export declare const getActionsPathForOP: (pageName: string[], _manifest: Manifest, sectionId: string, columnKey: string) => string;
29
+ export declare const getTableSettingsPathForOP: (pageName: string[], _manifest: Manifest, sectionId: string) => string;
30
+ export declare const getCustomSectionPath: (pageName: string[], _manifest: Manifest, sectionId: string, pathPart?: string) => string;
19
31
  export declare class ApplicationV4 implements Application {
20
32
  $schema?: string;
21
33
  id?: string;
@@ -25,9 +25,11 @@ export declare function deleteCreationModeName(manifestSection: unknown, manifes
25
25
  /**
26
26
  * common sync rule function for the deletion of any property of personalization
27
27
  * @param manifestSection - section in manifest comprising the table settings
28
+ * @param _configObject - page config object
29
+ * @param _key - key or property in page config object
28
30
  * @param manifestKey - key or property in manifest
29
31
  */
30
- export declare function deletePersonalizationProperty(manifestSection: unknown, manifestKey: string): void;
32
+ export declare function deletePersonalizationProperty(manifestSection: unknown, _configObject: object, _key: string, manifestKey: string): void;
31
33
  /**
32
34
  * sync rule function for export of creationMode.createAtEnd
33
35
  * @param manifestSection - section in manifest comprising the table settings
@@ -124,6 +126,8 @@ export declare class ALPTable extends TableViewSettings implements ALPTableIF {
124
126
  * Sync class for LRChartView
125
127
  */
126
128
  export declare class LRChartView implements LRChartViewIF {
129
+ key: string;
130
+ index: number;
127
131
  annotationPath: string;
128
132
  entitySet?: string;
129
133
  toolBar?: ViewChartToolBar;
@@ -132,13 +136,15 @@ export declare class LRChartView implements LRChartViewIF {
132
136
  * Sync class for LRTableView
133
137
  */
134
138
  export declare class LRTableView extends TableViewSettings implements LRTableViewIF {
139
+ key: string;
140
+ index: number;
135
141
  annotationPath: string;
136
142
  keepPreviousPersonalization?: boolean;
137
143
  entitySet?: string;
138
144
  toolBar?: ToolBar;
139
145
  }
140
146
  /**
141
- * LR mulit-view: own class for properties on views' level
147
+ * LR multi-view: own class for properties on views' level
142
148
  */
143
149
  export declare class MultiTableModeV4 implements MultiTableModeIF {
144
150
  [key: string]: LRTableView | LRChartView | boolean;
@@ -1,9 +1,8 @@
1
- import type { ExtensionLogger } from '../../..';
1
+ import type { Definition } from 'typescript-json-schema';
2
+ import type { ExtensionLogger, UI5Version } from '../../..';
2
3
  import type { PageType } from '../../../specification/common';
3
- import type { UI5Version } from '../../../v2';
4
- import type { TemplateType } from '../../common';
5
4
  import type { MetadataFactory } from '../../common/decoration/factory';
6
- import type { ExportResults, FlexAdapter } from '../../common/types';
5
+ import type { ExportResults, FlexAdapter, TemplateType } from '../../common';
7
6
  export declare type ManifestPathSection = (path: string, targetAnnotationPath: string) => string;
8
7
  export interface ManifestConverter4Section {
9
8
  path: ManifestPathSection;
@@ -16,7 +15,8 @@ export declare type TransferParameterTypeV4 = {
16
15
  exportResults: ExportResults;
17
16
  appId: string;
18
17
  baseId: string;
19
- appSchema: object;
18
+ appSchema: Definition;
19
+ config: object;
20
20
  ui5Version: UI5Version;
21
21
  factory: MetadataFactory;
22
22
  pageNameArray: string[];
@@ -1,7 +1,7 @@
1
1
  import type { GenerateAppSchemaParameters } from '../../../apiTypes';
2
- import type { EntitySet } from '@sap-ux/annotation-converter';
2
+ import type { EntitySet } from '@sap-ux/vocabularies-types';
3
3
  /**
4
- * Generates an app specific schema for the FE V4 Listreport from the generic schema.
4
+ * Generates an app specific schema for the FE V4 ListReport from the generic schema.
5
5
  * Generic types are replaced by information from the app specific annotations.
6
6
  * @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
7
7
  * @param genericSchema - generic JSON schema of an object page
@@ -1,4 +1,4 @@
1
- import type { GenerateAppSchemaParameters } from '../../../v4';
1
+ import type { GenerateAppSchemaParameters } from '../../..';
2
2
  /**
3
3
  * Generates an app specific schema out of the generic schema.
4
4
  * Generic types are replaced by information from the app specific annotations.
@@ -1,5 +1,18 @@
1
1
  import type { ObjectPageConfig as ObjectPageConfigV4 } from '../../../../specification/v4/';
2
2
  import type { ImportObjectPageV4Parameters } from '../../../../apiTypes';
3
+ /**
4
+ * Converts section ID to manifest ID (replaces '::' with ['/', '#'])
5
+ * @param sectionId - converted ID of the given object page section
6
+ * @param splitOnLt - split ID and get only part in <...>
7
+ * @returns manifest ID
8
+ */
9
+ export declare function getManifestId(sectionId: string, splitOnLt?: boolean): string;
10
+ /**
11
+ * Converts manifest ID to definition ID (replaces ['#', '/'] with '::')
12
+ * @param manifestId - ID of the given object page section in manifest
13
+ * @returns definition ID
14
+ */
15
+ export declare function getDefinitionId(manifestId: string): string;
3
16
  /**
4
17
  * External API: Create configuration (file content) for a V4 object page
5
18
  * @param {ImportObjectPageV4Parameters} importParameters - object comprising all input data
@@ -1,3 +1,4 @@
1
+ import type { Definition, DefinitionOrBoolean } from 'typescript-json-schema';
1
2
  import type { Manifest } from '../../../specification/common/webapp/manifest/Manifest';
2
3
  import type { ExtensionLogger } from '../../..';
3
4
  /**
@@ -11,4 +12,4 @@ import type { ExtensionLogger } from '../../..';
11
12
  */
12
13
  export declare function transferSettingsOfObject(configPart: {
13
14
  [key: string]: any;
14
- }, manifest: Manifest, appSchema: object, pageKey: string, breadcrumbs: string[], sectionId?: string, logger?: ExtensionLogger): void;
15
+ }, manifest: Manifest, appSchema: Definition | DefinitionOrBoolean, pageKey: string, breadcrumbs: string[], sectionId?: string, logger?: ExtensionLogger): void;
@@ -1,4 +1,6 @@
1
+ import type { Chart, LineItem } from '@sap-ux/vocabularies-types/vocabularies/UI';
1
2
  import type * as v4controls from './export/controls';
2
3
  import type * as v4pages from './export/pages';
3
4
  export declare type V4Controls = typeof v4controls;
4
5
  export declare type V4Pages = typeof v4pages;
6
+ export declare type PresentationVariantV4 = Chart | LineItem;
@@ -1,11 +1,11 @@
1
- import type { AnnotationTerm, ConverterOutput, EntityType, LineItem, DataFieldForActionAbstractTypes } from '@sap-ux/vocabularies-types';
2
- import type { EntitySet } from '@sap-ux/annotation-converter';
3
- import type { ExtensionLogger } from '../../..';
4
1
  import type { GenerateAppSchemaParameters, SapUiAppPageV4 } from '../../../v4';
2
+ import type { ExtensionLogger } from '../../..';
3
+ import type { LineItem, DataFieldForActionAbstractTypes } from '@sap-ux/vocabularies-types/vocabularies/UI';
4
+ import type { AnnotationTerm, ConvertedMetadata, EntitySet, EntityType } from '@sap-ux/vocabularies-types';
5
5
  import { DefinitionName } from '../../../v4';
6
6
  import type { Definition } from 'typescript-json-schema';
7
7
  /**
8
- * Common function for enhancing the LineItems definiton of app schema by custom columns
8
+ * Common function for enhancing the LineItems definition of app schema by custom columns
9
9
  * @param appSchema - app-specific JSON schema
10
10
  * @param v4Page - actual page in the manifest
11
11
  * @param logger - logger for error messages
@@ -13,30 +13,29 @@ import type { Definition } from 'typescript-json-schema';
13
13
  * @param sectionId - identifier of the current object page section in schema
14
14
  * @param sectionIdInManfest - identifier of the current object page section in manifest
15
15
  */
16
- export declare function addCustomColumnDefinition(appSchema: object, v4Page: SapUiAppPageV4, logger: ExtensionLogger, customColumnDefinitionName?: string, sectionId?: string, sectionIdInManfest?: string): void;
16
+ export declare function addCustomColumnDefinition(appSchema: object, v4Page: SapUiAppPageV4, logger: ExtensionLogger, customColumnDefinitionName?: string, sectionId?: string, sectionIdInManifest?: string): void;
17
17
  /**
18
18
  * Processes a LineItem record of type DataFieldForAction during app schema generation
19
19
  * @param appSchema - the app specific schema that shall get enhanced
20
- * @param entityType - the entity type as part of the AVT ConverterOutput
20
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
21
21
  * @param actions - actions definition in schema, parent object
22
22
  * @param lineItemPath - annotation path to the line item
23
23
  * @param lineItemRecord - actual record of the line item collection
24
24
  * @param recordIndex - record index in the collection
25
25
  */
26
- export declare function handleActionRecord(appSchema: Definition, entityType: EntityType, actions: Definition, lineItemPath: string, lineItemRecord: DataFieldForActionAbstractTypes, lineItemId: string, recordIndex: number): void;
26
+ export declare function handleActionRecord(appSchema: Definition, entityType: EntityType, actionsDefinition: Definition, lineItemPath: string, lineItemRecord: DataFieldForActionAbstractTypes, lineItemId: string, recordIndex: number): void;
27
27
  /**
28
28
  * Adds the line item definition, columns and actions to the app schema (for the list report or an object page section comprising a table)
29
29
  * @param appSchema - the app specific schema that shall get enhanced
30
30
  * @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
31
- * @param entityType - the entity type as part of the AVT ConverterOutput
32
- * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by Annotation Vocabularies Tool
33
- * @param actionDefinitionName - indicates the prefix for the definition, dpending on the page type
31
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
32
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by Annotation Vocabularies Tool
34
33
  * @param lineItemId - in case of OP the paramter must be passed to distinguish the OP tables;
35
34
  * in case of LR or ALP 'LineItems' is passed.
36
35
  * @param columnDefinitionName - name of the column definition, i.e. TableColumn or ObjectPageTableColumn
37
36
  * @param customColumnDefinitionName - name of the custom column definition
38
37
  */
39
- export declare function addLineItemsType(appSchema: Definition, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, oDataServiceAVT: ConverterOutput, lineItemId: string, columnDefinitionName?: string, customColumnDefinitionName?: string): void;
38
+ export declare function addLineItemsType(appSchema: Definition, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, oDataServiceAVT: ConvertedMetadata, lineItemId: string, columnDefinitionName?: string, customColumnDefinitionName?: string): void;
40
39
  /**
41
40
  * Adds an enum or value help to position > anchor of custom column
42
41
  * @param appSchema - app specific JSON schema
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap/ux-specification",
3
- "version": "1.96.10",
3
+ "version": "1.96.13",
4
4
  "displayName": "SAP Fiori tools - Specification",
5
5
  "description": "SAP Fiori tools - Specification",
6
6
  "files": [
@@ -46,13 +46,13 @@
46
46
  "publisher": "SAPSE",
47
47
  "license": "SEE LICENSE IN LICENSE",
48
48
  "dependencies": {
49
- "@sap-ux/fe-fpm-writer": "0.5.0"
49
+ "@sap-ux/fe-fpm-writer": "0.6.1"
50
50
  },
51
51
  "devDependencies": {
52
- "@sap-ux/annotation-converter": "0.3.39",
53
- "@sap-ux/edmx-parser": "0.3.39",
54
- "@sap-ux/vocabularies-types": "0.3.39",
55
- "@sapui5/ts-types": "1.96.4",
52
+ "@sap-ux/annotation-converter": "0.5.7",
53
+ "@sap-ux/edmx-parser": "0.5.4",
54
+ "@sap-ux/vocabularies-types": "0.5.4",
55
+ "@sapui5/ts-types-esm": "1.96.8",
56
56
  "@types/d3": "7.1.0",
57
57
  "@types/jest": "26.0.23",
58
58
  "@types/jquery": "3.5.6",
@@ -65,7 +65,7 @@
65
65
  "cpy-cli": "3.1.1",
66
66
  "d3": "7.1.1",
67
67
  "deepmerge": "4.2.2",
68
- "ejs": "3.1.6",
68
+ "ejs": "3.1.7",
69
69
  "eslint": "7.32.0",
70
70
  "eslint-formatter-multiple": "1.0.0",
71
71
  "eslint-plugin-prettier": "3.4.1",
@@ -122,4 +122,4 @@
122
122
  }
123
123
  ]
124
124
  }
125
- }
125
+ }