@sap/ux-specification 1.96.9 → 1.96.12

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 (60) hide show
  1. package/CHANGELOG.md +82 -32
  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 +33 -3
  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 +2 -1
  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/ObjectPageHeader.d.ts +3 -2
  21. package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +40 -7
  22. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +5 -3
  23. package/dist/src/specification/v2/controls/Table.d.ts +7 -4
  24. package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +22 -1
  25. package/dist/src/specification/v4/controls/Table.d.ts +8 -0
  26. package/dist/src/specification/v4/pages/ListReportConfig.d.ts +6 -1
  27. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.d.ts +1 -0
  28. package/dist/src/sync/common/decoration/control.d.ts +1 -1
  29. package/dist/src/sync/common/generate/objectPage.d.ts +5 -4
  30. package/dist/src/sync/common/generate/utils.d.ts +54 -13
  31. package/dist/src/sync/common/import/utils.d.ts +3 -2
  32. package/dist/src/sync/common/types.d.ts +105 -26
  33. package/dist/src/sync/common/utils.d.ts +17 -12
  34. package/dist/src/sync/v2/export/controls/Action.d.ts +12 -10
  35. package/dist/src/sync/v2/export/controls/FormAction.d.ts +9 -7
  36. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +6 -4
  37. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +3 -2
  38. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +6 -4
  39. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +26 -14
  40. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +5 -3
  41. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +6 -4
  42. package/dist/src/sync/v2/export/controls/Table.d.ts +6 -3
  43. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +12 -10
  44. package/dist/src/sync/v2/export/export.d.ts +0 -1
  45. package/dist/src/sync/v2/export/manifest.d.ts +22 -0
  46. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +1 -1
  47. package/dist/src/sync/v2/generate/utils.d.ts +5 -4
  48. package/dist/src/sync/v2/import/app/appProvider.d.ts +9 -0
  49. package/dist/src/sync/v2/types.d.ts +8 -3
  50. package/dist/src/sync/v4/application.d.ts +22 -10
  51. package/dist/src/sync/v4/export/controls/Table.d.ts +8 -1
  52. package/dist/src/sync/v4/export/pages/ListReport.d.ts +1 -0
  53. package/dist/src/sync/v4/export/types.d.ts +5 -5
  54. package/dist/src/sync/v4/generate/objectPage.d.ts +1 -1
  55. package/dist/src/sync/v4/import/pages/objectPage.d.ts +13 -0
  56. package/dist/src/sync/v4/import/utils.d.ts +2 -1
  57. package/dist/src/sync/v4/types.d.ts +2 -0
  58. package/dist/src/sync/v4/utils/utils.d.ts +9 -10
  59. package/dist/test/unit/export/manifest.test.d.ts +1 -0
  60. package/package.json +4 -4
@@ -1,7 +1,9 @@
1
- /// <reference types="@sapui5/ts-types" />
1
+ /// <reference types="@sapui5/ts-types-esm" />
2
2
  import type { AnalyticalTable as AnalyticalTableConfig, TableALP as TableALPConfig, CommonTableSettings as CommonTableConfig, DefaultContentView, DefaultFilterMode, GenericColumns, GridTable as GridTableConfig, LoadDataOnAppLaunchSettings, QuickVariantSelectionX as QuickVariantSelectionXInterface, ResponsiveTable as ResponsiveTableConfig, TreeTable as TreeTableConfig, Strategy, FieldPath as FieldPathInterface, QuickVariant, QuickVariantX, CreationFieldKeys, ToolBar } from '../../../../specification/v2';
3
3
  import { TableTypeV2 } from '../../../../specification/v2';
4
4
  import type { ControlTypeFunction, DeprecatedProperties } from '../../../common';
5
+ import type { PopinLayout } from 'sap/m/library';
6
+ import type { smarttable } from 'sap/ui/comp/library';
5
7
  export declare const getSmartTableControlId: (baseId: string, idBreadcrumbs: string[], _breadcrumbs: string[], controlType: ControlTypeFunction) => string;
6
8
  export declare function importCreateParameters(manifestSection: object): object;
7
9
  export declare function exportCreateParameters(manifestSection: unknown, configPart: Fields4Dialog): void;
@@ -9,6 +11,7 @@ export declare class CreateWithFilters {
9
11
  strategy: Strategy;
10
12
  }
11
13
  export declare function exportType(manifestSection: unknown, configPart: object): void;
14
+ export declare function deleteType(manifestSection: unknown): void;
12
15
  export declare class DataLoadSettings {
13
16
  loadDataOnAppLaunch: LoadDataOnAppLaunchSettings;
14
17
  }
@@ -36,7 +39,7 @@ export declare class CommonTableSettings<COLS = GenericColumns> implements Commo
36
39
  createWithParameterDialog?: Fields4Dialog;
37
40
  showTablePersonalisation?: boolean;
38
41
  useExportToExcel?: boolean;
39
- exportType?: sap.ui.comp.smarttable.ExportType;
42
+ exportType?: smarttable.ExportType;
40
43
  fitContainer?: boolean;
41
44
  quickVariantSelection?: QuickVariantSelection;
42
45
  quickVariantSelectionX?: QuickVariantSelectionX;
@@ -51,7 +54,7 @@ export declare class CommonTableSettings<COLS = GenericColumns> implements Commo
51
54
  export declare class ResponsiveTable extends CommonTableSettings implements ResponsiveTableConfig {
52
55
  type?: TableTypeV2.ResponsiveTable;
53
56
  createWithFilters?: CreateWithFilters;
54
- popinLayout?: sap.m.PopinLayout;
57
+ popinLayout?: PopinLayout;
55
58
  includeItemInSelection?: boolean;
56
59
  inlineDelete?: boolean;
57
60
  showDraftToggle?: boolean;
@@ -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
@@ -1,4 +1,26 @@
1
1
  import type { Pages } from '../../../specification/v2';
2
+ /**
3
+ * Method searches in manifest object by passed path and returns found value.
4
+ * If value was not found in manifest object,
5
+ * then method created empty object in manifest object within passed path.
6
+ * @param manifest - target manifest object
7
+ * @param path - path to lookup in manifest
8
+ * @returns Found or created value
9
+ */
10
+ export declare const ensureManifestSectionByPathV2: (manifest: object, path: string) => object;
11
+ /**
12
+ * Method searches in manifest object by passed path and returns found value.
13
+ * If value was not found in manifest object, then 'undefined' is returned.
14
+ * @param manifest - target manifest file
15
+ * @param path - path to lookup in manifest
16
+ * @returns Found value
17
+ */
2
18
  export declare const getManifestSectionByPathV2: (manifest: object, path: string) => object;
3
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
+ */
4
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,8 +1,9 @@
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, LineItem, SelectionFields } from '@sap-ux/vocabularies-types';
6
7
  import { ActionTypeV2 } from '../types';
7
8
  /**
8
9
  * Processes a LineItem record of type DataFieldForAction and DataFieldForIntentBasedNavigation during app schema generation
@@ -28,7 +29,7 @@ export declare function handleActionRecord(appSchema: object, actions: object, l
28
29
  * in case of LR or ALP no ID is passed, 'LineItems' is taken then.
29
30
  * @param customColumnRef - schema reference to custom column definition.
30
31
  */
31
- export declare function addLineItemsType(appSchema: object, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId?: string, customColumnRef?: string): void;
32
+ export declare function addLineItemsType(appSchema: Definition, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId?: string, customColumnRef?: string): void;
32
33
  /**
33
34
  * Adds enum entries of possible leading properties for 'leadingProperty' property in TableCustomColumn properties.
34
35
  * @param appSchema - the app specific schema that shall get enhanced
@@ -51,7 +52,7 @@ export declare function addTabkeyEnum(appSchema: object, definitionName: string,
51
52
  * @param {string} property Property name.
52
53
  * @param {string} definitionName Definition name of CustomColumn definition.
53
54
  */
54
- export declare function addFragmentEnum(appSchema: object, fragments: FileData[], appId: string, property: string, definitionName: string): void;
55
+ export declare function addFragmentEnum(appSchema: Definition, fragments: FileData[], appId: string, property: string, definitionName: string): void;
55
56
  /**
56
57
  * Adds the custom columns to the line item records of the app schema (for the list report comprising a table).
57
58
  * @param {object} appSchema The app specific schema that shall get enhanced.
@@ -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,6 +136,8 @@ 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;
@@ -148,6 +154,7 @@ export declare class MultiTableModeV4 implements MultiTableModeIF {
148
154
  * Sync class for Table
149
155
  */
150
156
  export declare class Table extends TableSettings implements TableInterface {
157
+ annotationPath?: string;
151
158
  views?: MultiTableModeV4;
152
159
  initialLoad?: InitialLoadType;
153
160
  toolBar?: ToolBar;
@@ -8,5 +8,6 @@ export declare class ListReport implements ListReportConfigV4 {
8
8
  table?: ALPTableView | Table;
9
9
  variantManagement?: VariantManagementTypeListReport;
10
10
  defaultPath?: DefaultPathType;
11
+ defaultTemplateAnnotationPath?: string;
11
12
  filterbar?: FilterBar;
12
13
  }
@@ -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,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';
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,7 +1,7 @@
1
- import type { AnnotationTerm, ConverterOutput, EntityType, LineItem, DataFieldForActionAbstractTypes } from '@sap-ux/vocabularies-types';
2
1
  import type { EntitySet } from '@sap-ux/annotation-converter';
3
- import type { ExtensionLogger } from '../../..';
4
2
  import type { GenerateAppSchemaParameters, SapUiAppPageV4 } from '../../../v4';
3
+ import type { ExtensionLogger } from '../../..';
4
+ import type { AnnotationTerm, ConverterOutput, EntityType, LineItem, DataFieldForActionAbstractTypes } from '@sap-ux/vocabularies-types';
5
5
  import { DefinitionName } from '../../../v4';
6
6
  import type { Definition } from 'typescript-json-schema';
7
7
  /**
@@ -15,7 +15,7 @@ import type { Definition } from 'typescript-json-schema';
15
15
  */
16
16
  export declare function addCustomColumnDefinition(appSchema: object, v4Page: SapUiAppPageV4, logger: ExtensionLogger, customColumnDefinitionName?: string, sectionId?: string, sectionIdInManfest?: string): void;
17
17
  /**
18
- * Processes a LineItem record of type DataFieldForCation during app schema generation
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
20
  * @param entityType - the entity type as part of the AVT ConverterOutput
21
21
  * @param actions - actions definition in schema, parent object
@@ -23,20 +23,19 @@ export declare function addCustomColumnDefinition(appSchema: object, v4Page: Sap
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: object, entityType: EntityType, actions: object, 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
31
  * @param entityType - the entity type as part of the AVT ConverterOutput
32
32
  * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by Annotation Vocabularies Tool
33
+ * @param lineItemId - in case of OP the paramter must be passed to distinguish the OP tables;
34
+ * in case of LR or ALP 'LineItems' is passed.
33
35
  * @param columnDefinitionName - name of the column definition, i.e. TableColumn or ObjectPageTableColumn
34
- * @param actionDefinitionName - indicates the prefix for the definition, dpending on the page type
35
- * @param lineItemId - optional: in case of OP the paramter must be passed to distinguish the OP tables;
36
- * in case of LR or ALP no ID is passed, 'LineItems' is taken then.
37
- * @param customColumnRef - schema reference to custom column definition.
36
+ * @param customColumnDefinitionName - name of the custom column definition
38
37
  */
39
- export declare function addLineItemsType(appSchema: object, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, oDataServiceAVT: ConverterOutput, columnDefinitionName?: string, customColumnDefinitionName?: string, lineItemId?: string): void;
38
+ export declare function addLineItemsType(appSchema: Definition, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, oDataServiceAVT: ConverterOutput, 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
@@ -44,7 +43,7 @@ export declare function addLineItemsType(appSchema: object, lineItemAnnotation:
44
43
  * @param v4Page - current page in manifest
45
44
  * @param positionName - ID of the definition of custom column position in schema
46
45
  */
47
- export declare function addFragmentEnumForAnchor(appSchema: object, lineItemId: string, v4Page: SapUiAppPageV4, positionName?: DefinitionName, sectionIdInManifest?: string): void;
46
+ export declare function addFragmentEnumForAnchor(appSchema: Definition, lineItemId: string, v4Page: SapUiAppPageV4, positionName?: DefinitionName, sectionIdInManifest?: string): void;
48
47
  /**
49
48
  * Find the relevant V4 page under the routing targets of manifest,json
50
49
  * @param pages - list of all pages in manifest
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap/ux-specification",
3
- "version": "1.96.9",
3
+ "version": "1.96.12",
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
52
  "@sap-ux/annotation-converter": "0.3.39",
53
53
  "@sap-ux/edmx-parser": "0.3.39",
54
54
  "@sap-ux/vocabularies-types": "0.3.39",
55
- "@sapui5/ts-types": "1.96.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",