@sap/ux-specification 1.96.14 → 1.96.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +102 -19
- package/dist/documentation/runDocu-min.js +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 +48 -0
- package/dist/documentation/v4/v4-ListReport.html +1 -1
- package/dist/documentation/v4/v4-ObjectPage.html +1 -1
- package/dist/index-min.js +1 -1
- package/dist/schemas/v2/AnalyticalListPageConfig.json +1 -0
- package/dist/schemas/v2/ListReportConfig.json +1 -0
- package/dist/schemas/v2/ObjectPageConfig.json +1 -0
- package/dist/schemas/v4/ApplicationV4.json +4 -0
- package/dist/schemas/v4/FreestylePageConfig.json +10 -0
- package/dist/src/apiTypes.d.ts +13 -4
- package/dist/src/specification/schemaAccess.d.ts +2 -1
- package/dist/src/specification/v2/controls/Table.d.ts +1 -0
- package/dist/src/specification/v2/controls/index.d.ts +1 -0
- package/dist/src/specification/v4/ApplicationV4.d.ts +4 -0
- package/dist/src/specification/v4/pages/FreestylePageConfig.d.ts +2 -0
- package/dist/src/specification/v4/pages/index.d.ts +1 -0
- package/dist/src/specification/v4/webapp/manifest/sapUi5.d.ts +2 -0
- package/dist/src/sync/common/appProvider.d.ts +1 -1
- package/dist/src/sync/common/generate/utils.d.ts +16 -16
- package/dist/src/sync/common/types.d.ts +6 -1
- package/dist/src/sync/common/utils.d.ts +17 -2
- package/dist/src/sync/v2/export/controls/Fragment.d.ts +2 -1
- package/dist/src/sync/v2/export/controls/Table.d.ts +1 -2
- package/dist/src/sync/v2/export/export.d.ts +2 -1
- package/dist/src/sync/v2/import/common/index.d.ts +1 -0
- package/dist/src/sync/v2/import/controls/table.d.ts +3 -1
- package/dist/src/sync/v2/types.d.ts +4 -3
- package/dist/src/sync/v4/export/pages/FreestylePage.d.ts +5 -0
- package/dist/src/sync/v4/export/pages/index.d.ts +1 -0
- package/dist/src/sync/v4/export/utils.d.ts +6 -0
- package/dist/src/sync/v4/generate/freestylePage.d.ts +10 -0
- package/dist/src/sync/v4/generate/generate.d.ts +12 -0
- package/dist/src/sync/v4/generate/index.d.ts +2 -1
- package/dist/src/sync/v4/import/app/appProvider.d.ts +4 -17
- package/dist/src/sync/v4/import/app/baseAppProvider.d.ts +45 -0
- package/dist/src/sync/v4/import/app/freestyleProvider.d.ts +7 -0
- package/dist/src/sync/v4/import/app/index.d.ts +3 -0
- package/dist/src/sync/v4/utils/utils.d.ts +2 -2
- package/dist/test/unit/generateAppSchema/generateAppSchemaFFV4.test.d.ts +1 -0
- package/dist/test/unit/generateGenericSchema/generateGenericSchemaFFV4.test.d.ts +1 -0
- package/package.json +3 -3
|
@@ -29,6 +29,10 @@
|
|
|
29
29
|
"$ref": "#/definitions/FlexibleColumnLayoutV4",
|
|
30
30
|
"description": "The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas. For the overview page, this layout is not relevant."
|
|
31
31
|
},
|
|
32
|
+
"viewPath": {
|
|
33
|
+
"description": "Prefix that is preceding the view",
|
|
34
|
+
"type": "string"
|
|
35
|
+
},
|
|
32
36
|
"title": {
|
|
33
37
|
"description": "To change the application header, in your project artifacts, change the i18n property file\nfor your app under webapp/i18n/i18n.properties ->appTitle. Then, refer to the title as\n{{appTitle}} in the sap.app section of the manifest file.",
|
|
34
38
|
"i18nClassification": "TIT: Title of the application",
|
package/dist/src/apiTypes.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ import type { FileData, File, ExportResults } from './sync/common/types';
|
|
|
7
7
|
import type { ApplicationV2, ObjectPageConfig as ObjectPageConfigV2, ListReportConfig as ListReportConfigV2, OverviewPageConfig as OverviewPageConfigV2, AnalyticalListPageConfig as AnalyticalListPageConfigV2, Manifest as ManifestV2, FlexChangeLayer } from './v2';
|
|
8
8
|
import type { ApplicationV4, ObjectPageConfig as ObjectPageConfigV4, ListReportConfig as ListReportConfigV4, Manifest as ManifestV4 } from './v4';
|
|
9
9
|
import type { ConvertedMetadata } from '@sap-ux/vocabularies-types';
|
|
10
|
-
import type { CustomPage, CustomTableColumn, CustomSection } from '@sap-ux/fe-fpm-writer';
|
|
11
10
|
import type { Editor } from 'mem-fs-editor';
|
|
12
11
|
import type { TemplateType } from './sync/common';
|
|
12
|
+
import type { CustomPage as FPMCustomPage, CustomTableColumn as FPMCustomTableColumn, CustomSection as FPMCustomSection, ObjectPage as FPMObjectPage } from '@sap-ux/fe-fpm-writer';
|
|
13
13
|
export declare type MessageMetadataType = (object | string | number)[];
|
|
14
14
|
/**
|
|
15
15
|
* Interface used to define a logger for the specificaton API
|
|
@@ -92,7 +92,15 @@ export declare type GenerateAnalyticalListPageV4 = {
|
|
|
92
92
|
manifest?: object;
|
|
93
93
|
};
|
|
94
94
|
};
|
|
95
|
-
export declare type
|
|
95
|
+
export declare type GenerateFreestylePageV4 = {
|
|
96
|
+
[SchemaType.FreestylePage]: {
|
|
97
|
+
genericSchema: object;
|
|
98
|
+
annotations: FileData[];
|
|
99
|
+
manifest: object;
|
|
100
|
+
logger?: ExtensionLogger;
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
export declare type GenerateSchemaV4Type = GenerateListReportV4 | GenerateObjectPageV4 | GenerateAnalyticalListPageV4 | GenerateFreestylePageV4;
|
|
96
104
|
export interface GenerateSchemaV4 {
|
|
97
105
|
[FioriElementsVersion.v4]: GenerateSchemaV4Type;
|
|
98
106
|
}
|
|
@@ -292,7 +300,8 @@ export interface GenerateAppSchemaParameters {
|
|
|
292
300
|
export declare enum CustomExtensionType {
|
|
293
301
|
CustomPage = "CustomPage",
|
|
294
302
|
CustomColumn = "CustomColumn",
|
|
295
|
-
CustomSection = "CustomSection"
|
|
303
|
+
CustomSection = "CustomSection",
|
|
304
|
+
ObjectPage = "ObjectPage"
|
|
296
305
|
}
|
|
297
306
|
export interface GenerateCustomExtensionParams {
|
|
298
307
|
customExtension: CustomExtensionType;
|
|
@@ -300,7 +309,7 @@ export interface GenerateCustomExtensionParams {
|
|
|
300
309
|
data: CustomExtensionData;
|
|
301
310
|
fsEditor?: Editor;
|
|
302
311
|
}
|
|
303
|
-
export declare type CustomExtensionData =
|
|
312
|
+
export declare type CustomExtensionData = FPMCustomPage | FPMCustomTableColumn | FPMCustomSection | FPMObjectPage;
|
|
304
313
|
export declare const FPMWriterMap: Map<CustomExtensionType, (basePath: string, data: CustomExtensionData, fs?: Editor) => Editor>;
|
|
305
314
|
/**
|
|
306
315
|
* API Version
|
|
@@ -7,7 +7,8 @@ export declare enum SchemaType {
|
|
|
7
7
|
ObjectPage = "ObjectPage",
|
|
8
8
|
ListReport = "ListReport",
|
|
9
9
|
OverviewPage = "OverviewPage",
|
|
10
|
-
AnalyticalListPage = "AnalyticalListPage"
|
|
10
|
+
AnalyticalListPage = "AnalyticalListPage",
|
|
11
|
+
FreestylePage = "FreestylePage"
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
13
14
|
* Return the generic schema for a given version and type
|
|
@@ -7,6 +7,7 @@ export * from './Table';
|
|
|
7
7
|
export * from './ToolBar';
|
|
8
8
|
export * from './Footer';
|
|
9
9
|
export * from './AnalyticalListPageChart';
|
|
10
|
+
export * from './AnalyticalListPageKPI';
|
|
10
11
|
export * from './ObjectPageHeader';
|
|
11
12
|
export * from './ObjectPageLayout';
|
|
12
13
|
export * from './ObjectPageSection';
|
|
@@ -6,6 +6,10 @@ export interface AppSettings extends CommonAppSettings {
|
|
|
6
6
|
* The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas. For the overview page, this layout is not relevant.
|
|
7
7
|
*/
|
|
8
8
|
flexibleColumnLayout?: FlexibleColumnLayoutV4;
|
|
9
|
+
/**
|
|
10
|
+
* Prefix that is preceding the view
|
|
11
|
+
*/
|
|
12
|
+
viewPath?: string;
|
|
9
13
|
}
|
|
10
14
|
export interface PagesV4 extends Pages {
|
|
11
15
|
[key: string]: PageV4;
|
|
@@ -61,6 +61,7 @@ export interface SapUi5RoutingTargetSettingsV4 {
|
|
|
61
61
|
[key: string]: SapUi5RoutingTargetNavigationV4;
|
|
62
62
|
};
|
|
63
63
|
variantManagement?: string;
|
|
64
|
+
viewPath?: string;
|
|
64
65
|
views?: {
|
|
65
66
|
paths: Array<SapUi5ViewPath>;
|
|
66
67
|
showCounts?: boolean;
|
|
@@ -80,6 +81,7 @@ export declare type RouterClass = typeof FIORI_FCL_ROUTER_CLASS | string;
|
|
|
80
81
|
export interface SapUi5RoutingConfig {
|
|
81
82
|
routerClass?: RouterClass;
|
|
82
83
|
flexibleColumnLayout?: FlexibleColumnLayoutV4;
|
|
84
|
+
viewPath?: string;
|
|
83
85
|
}
|
|
84
86
|
export declare enum FlexibleColumnLayoutAggregations {
|
|
85
87
|
BeginColumnPages = "beginColumnPages",
|
|
@@ -10,7 +10,7 @@ export interface Controllers {
|
|
|
10
10
|
export declare abstract class AppProvider {
|
|
11
11
|
readonly app: Application;
|
|
12
12
|
readonly logger: ExtensionLogger;
|
|
13
|
-
|
|
13
|
+
readonly schemas: Files;
|
|
14
14
|
unhandledControllers: Array<string>;
|
|
15
15
|
protected constructor(manifest: ManifestV2 | ManifestV4, schemas: Files, home: string, pages: PagesBase, version: FioriElementsVersion, settings?: AppSettingsV2 | AppSettingsV4, logger?: ExtensionLogger);
|
|
16
16
|
/**
|
|
@@ -50,6 +50,22 @@ export declare function addEnumForFilterBarAnnotationPath(entityType: EntityType
|
|
|
50
50
|
* Please note that method depends on order and takes first non empty value associated to passed properties.
|
|
51
51
|
*/
|
|
52
52
|
export declare function addDefinitionForRelatedFacetKeys(appSchema: Definition, sectionDefinitions: string[], facetSections: FacetSection[], idProperties: Array<keyof Omit<FacetSection, 'custom'>>): void;
|
|
53
|
+
/**
|
|
54
|
+
* Receives a facet key and returns the key as used in schema
|
|
55
|
+
* @param facetKey - key of the facet, as used in annotation
|
|
56
|
+
* @returns facetKeyInSchema - key of the facet, as used in schema
|
|
57
|
+
*/
|
|
58
|
+
export declare function getFacetKeyInSchema(facetKey: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Adds an existing schema definition to a new definition in the app schema
|
|
61
|
+
* @param definition name of definition, as used in schema
|
|
62
|
+
* @param facetKey - key of the facet, as used in annotation
|
|
63
|
+
* @param {Definition} appSchema App schema in general
|
|
64
|
+
* @param {boolean} useDefinitionAsKey If set to false, facet key will solely be used as key, else encapsulated within definition key `definition<facetKey>`
|
|
65
|
+
* @param subDefinitionName - sub definition, if different from the definition (e.g. subsection vs. section)
|
|
66
|
+
* @returns {Definition} part of app schema that has been added and filled
|
|
67
|
+
*/
|
|
68
|
+
export declare function parseSchemaDefinition(definition: string, facetKey: string, appSchema: Definition, useDefinitionAsKey?: boolean, subDefinitionName?: DefinitionName): Definition;
|
|
53
69
|
/**
|
|
54
70
|
* Functions used both by V2 and V4 to add the common definitions for a line item to the app schema
|
|
55
71
|
* @param appSchema - the app specific schema that shall get enhanced
|
|
@@ -104,22 +120,6 @@ export declare function determineDataType(field: object): string | undefined;
|
|
|
104
120
|
* @param field - given field definition = annotation property, at AVT
|
|
105
121
|
*/
|
|
106
122
|
export declare function addDataTypeToDefinition(definition: object, field: object): void;
|
|
107
|
-
/**
|
|
108
|
-
* Receives a facet key and returns the key as used in schema
|
|
109
|
-
* @param facetKey - key of the facet, as used in annotation
|
|
110
|
-
* @returns facetKeyInSchema - key of the facet, as used in schema
|
|
111
|
-
*/
|
|
112
|
-
export declare function getFacetKeyInSchema(facetKey: string): string;
|
|
113
|
-
/**
|
|
114
|
-
* Adds an existing schema definition to a new definition in the app schema
|
|
115
|
-
* @param definition name of definition, as used in schema
|
|
116
|
-
* @param facetKey - key of the facet, as used in annotation
|
|
117
|
-
* @param {Definition} appSchema App schema in general
|
|
118
|
-
* @param {boolean} useDefinitionAsKey If set to false, facet key will solely be used as key, else encapsulated within definition key `definition<facetKey>`
|
|
119
|
-
* @param subDefinitionName - sub definition, if different from the definition (e.g. subsection vs. section)
|
|
120
|
-
* @returns {Definition} part of app schema that has been added and filled
|
|
121
|
-
*/
|
|
122
|
-
export declare function parseSchemaDefinition(definition: DefinitionName | SectionTypeV2, facetKey: string, appSchema: Definition, useDefinitionAsKey?: boolean, subDefinitionName?: DefinitionName): Definition;
|
|
123
123
|
/**
|
|
124
124
|
* Creates a definition link for a facet and definition name
|
|
125
125
|
* @param {DefinitionName} definition - name of definition, as used in schema
|
|
@@ -111,7 +111,7 @@ export interface FlexAdapter {
|
|
|
111
111
|
exportFlexValue?: exportFlexValue;
|
|
112
112
|
importFlexValue?: importFlexValue;
|
|
113
113
|
}
|
|
114
|
-
export declare type ManifestPath = (pageKeys?: string[], manifest?: Manifest, ...pathParts:
|
|
114
|
+
export declare type ManifestPath = (pageKeys?: string[], manifest?: Manifest, ...pathParts: any[]) => string;
|
|
115
115
|
export declare type ExportHandlerFunction = (manifestSection: unknown, configObject: unknown, key: string, manifestKey?: string, ...pathParts: string[]) => unknown;
|
|
116
116
|
export interface ManifestConverter {
|
|
117
117
|
path: ManifestPath;
|
|
@@ -228,7 +228,9 @@ export declare enum ViewTemplateType {
|
|
|
228
228
|
ResponsiveTableCellsExtension = "ResponsiveTableCellsExtension"
|
|
229
229
|
}
|
|
230
230
|
export declare enum DefinitionName {
|
|
231
|
+
Action = "Action",
|
|
231
232
|
Actions = "Actions",
|
|
233
|
+
ActionsLR = "Actions<LineItems>",
|
|
232
234
|
ALPChart = "ALPChart",
|
|
233
235
|
ALPChartView = "ALPChartView",
|
|
234
236
|
ALPTable = "ALPTable",
|
|
@@ -247,7 +249,9 @@ export declare enum DefinitionName {
|
|
|
247
249
|
Fields4Dialog = "Fields4Dialog",
|
|
248
250
|
FilterBar = "FilterBar",
|
|
249
251
|
Footer = "Footer",
|
|
252
|
+
FooterAction = "FooterAction",
|
|
250
253
|
FooterActions = "FooterActions",
|
|
254
|
+
FooterActionsLR = "FooterActions<LineItems>",
|
|
251
255
|
Form = "Form",
|
|
252
256
|
FormAction = "FormAction",
|
|
253
257
|
GenericActions = "GenericActions",
|
|
@@ -295,6 +299,7 @@ export declare enum DefinitionName {
|
|
|
295
299
|
QuickVariantSelectionV4OP = "QuickVariantSelectionV4OP",
|
|
296
300
|
RelatedFacetKeys = "RelatedFacetKeys",
|
|
297
301
|
Sections = "Sections",
|
|
302
|
+
SelectionFields = "SelectionFields",
|
|
298
303
|
Table = "Table",
|
|
299
304
|
TableSPV = "TableSPV",
|
|
300
305
|
TableColumn = "TableColumn",
|
|
@@ -3,6 +3,7 @@ import type { ExtensionLogger } from '../../apiTypes';
|
|
|
3
3
|
import type { FacetConfigs, FileData, FacetConfig, FacetSection, SchemaFilePath, anyFacetType } from './types';
|
|
4
4
|
import type { Manifest } from '../../specification/common';
|
|
5
5
|
import type { MetadataInstanceInterface } from './decoration/factory';
|
|
6
|
+
import type { SapUiAppPageV4, SapUi5RoutingTargetCustomPageV4 } from '../../specification/v4';
|
|
6
7
|
import type { DataFieldAbstractTypes } from '@sap-ux/vocabularies-types/vocabularies/UI';
|
|
7
8
|
import type { ConvertedMetadata, EntityType, PropertyPath } from '@sap-ux/vocabularies-types';
|
|
8
9
|
import { FioriElementsVersion, PageType, PageTypeV4 } from '../../specification/common';
|
|
@@ -13,7 +14,8 @@ export declare enum TemplateType {
|
|
|
13
14
|
ListReportObjectPageV4 = "ListReportObjectPageV4",
|
|
14
15
|
OverviewPageV2 = "OverviewPageV2",
|
|
15
16
|
AnalyticalListPageV2 = "AnalyticalListPageV2",
|
|
16
|
-
AnalyticalListPageV4 = "AnalyticalListPageV4"
|
|
17
|
+
AnalyticalListPageV4 = "AnalyticalListPageV4",
|
|
18
|
+
FreestylePageV4 = "FreestylePageV4"
|
|
17
19
|
}
|
|
18
20
|
export declare const DEFINITION_LINK_PREFIX = "#/definitions/";
|
|
19
21
|
/**
|
|
@@ -73,7 +75,7 @@ export declare function getPageTypeV2(name: string): PageType | undefined;
|
|
|
73
75
|
* Return the page type for a given V4 page in manifest
|
|
74
76
|
* @param name - page component name
|
|
75
77
|
*/
|
|
76
|
-
export declare function getPageTypeV4(
|
|
78
|
+
export declare function getPageTypeV4(v4App: SapUiAppPageV4 | SapUi5RoutingTargetCustomPageV4): PageTypeV4 | undefined;
|
|
77
79
|
/**
|
|
78
80
|
* Finds the alias for a given namespace in the references' section of the converted service metadata
|
|
79
81
|
* @param {string} namespace - complete namespace, e.g. 'com.sap.vocabularies.UI.v1'
|
|
@@ -226,3 +228,16 @@ export declare function getNextTargetDefinition(appSchema: object, title: string
|
|
|
226
228
|
* @returns
|
|
227
229
|
*/
|
|
228
230
|
export declare const arrayCombineMerge: (target: any, source: any, options: any) => string[];
|
|
231
|
+
/**
|
|
232
|
+
* Converts an enum into a CSV
|
|
233
|
+
* @param {object} manifestSection - manifestSection where the key exists
|
|
234
|
+
* @param {object} configPart - Property as mentioned in config file
|
|
235
|
+
* @param {string} key - Property to be exported to manifest
|
|
236
|
+
*/
|
|
237
|
+
export declare function convertEnumToCSV(manifestSection: any, configPart: any, key: string): void;
|
|
238
|
+
/**
|
|
239
|
+
* Converts an action ID from the internal format (schema, config) to the stable ID representation
|
|
240
|
+
* @param actionId - the (unique) internal format of the action ID
|
|
241
|
+
* @returns the converted action ID
|
|
242
|
+
*/
|
|
243
|
+
export declare function convertActionKeyToStableId(actionId: string): string;
|
|
@@ -7,9 +7,10 @@ export declare const SAP_UI_TABLE = "sap.ui.table";
|
|
|
7
7
|
/**
|
|
8
8
|
* Method which receives fragment definition node and reads root column definition.
|
|
9
9
|
* @param {unknown} definition - Application or Page Config object.
|
|
10
|
+
* @param {unknown} fragment - fragment definition
|
|
10
11
|
* @returns {unknown | undefined} Root column read from definition.
|
|
11
12
|
*/
|
|
12
|
-
export declare function getRootCustomColumnFromFragmentJSON(definition: unknown): string | unknown | undefined;
|
|
13
|
+
export declare function getRootCustomColumnFromFragmentJSON(definition: unknown, fragment?: unknown): string | unknown | undefined;
|
|
13
14
|
/**
|
|
14
15
|
* Identifies the right extensions based on a pattern, then deletes all corresponding columns and cells
|
|
15
16
|
* @param manifestSection - Section in manifest.json comprising the extensions
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="@sapui5/ts-types-esm" />
|
|
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
|
-
import { TableTypeV2 } from '../../../../specification/v2';
|
|
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, TableTypeV2 } from '../../../../specification/v2';
|
|
4
3
|
import type { ControlTypeFunction, DeprecatedProperties } from '../../../common';
|
|
5
4
|
import type { PopinLayout } from 'sap/m/library';
|
|
6
5
|
import type { smarttable } from 'sap/ui/comp/library';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ExportResults } from '../../../v2';
|
|
2
2
|
import type { MetadataInstanceInterface } from '../../common/decoration/factory';
|
|
3
3
|
import type { TransferParameterTypeV2 } from '../types';
|
|
4
|
+
import type { Definition } from 'typescript-json-schema';
|
|
4
5
|
/**
|
|
5
6
|
* Private recursive function that traverses the content of the current object. It reads decorators and fills manifest entries and flex changes
|
|
6
7
|
* @param configObject - current object to traverse
|
|
@@ -31,4 +32,4 @@ export declare function assignReflectMetadataRules(factory: MetadataInstanceInte
|
|
|
31
32
|
*/
|
|
32
33
|
export declare function transferManifestEntriesAndFlexChange(transferParameters: TransferParameterTypeV2, configObject: {
|
|
33
34
|
[key: string]: any;
|
|
34
|
-
}, parentIds: string[], breadcrumbs: string[], schemaDefinition:
|
|
35
|
+
}, parentIds: string[], breadcrumbs: string[], schemaDefinition: Definition, title?: string): void;
|
|
@@ -6,6 +6,7 @@ import type { SapUiAppPageV2 } from '../../../../specification/v2';
|
|
|
6
6
|
import { TableTypeV2 } from '../../../../specification/v2';
|
|
7
7
|
import type { ExtensionLogger } from '../../../../apiTypes';
|
|
8
8
|
export declare type LROPConfigsType = ListReportConfig | AnalyticalListPageConfig | ObjectPageConfig;
|
|
9
|
+
export declare function convertActionKey(actionProperty: string): string;
|
|
9
10
|
/**
|
|
10
11
|
* Unescapes the selector ID of a flex change
|
|
11
12
|
* @param selectorId - escaped selector ID
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type { TreeTable, ResponsiveTable, AnalyticalTable, GridTable, TableALP } from '../../../../specification/v2/index';
|
|
2
|
+
import type { Definition } from 'typescript-json-schema';
|
|
2
3
|
export declare type FlexForTransfer = {
|
|
3
4
|
controlId: string;
|
|
4
5
|
controlType: string;
|
|
5
6
|
propertyId: string;
|
|
6
7
|
facetId?: string;
|
|
7
8
|
newValue: any;
|
|
9
|
+
creation: string;
|
|
8
10
|
};
|
|
9
11
|
export interface FlexChangesForTransfer {
|
|
10
12
|
[controlId: string]: FlexForTransfer;
|
|
11
13
|
}
|
|
12
14
|
export declare type ConfigTableType = ResponsiveTable | TreeTable | AnalyticalTable | GridTable | TableALP;
|
|
13
|
-
export declare function addFlexForTable(config: ConfigTableType, change: FlexForTransfer, jsonSchema:
|
|
15
|
+
export declare function addFlexForTable(config: ConfigTableType, change: FlexForTransfer, jsonSchema: Definition): void;
|
|
@@ -62,7 +62,8 @@ export declare type ObjectPageV2ConfigParameters = {
|
|
|
62
62
|
objectPageConfig?: ObjectPageConfig;
|
|
63
63
|
};
|
|
64
64
|
export declare type SectionPartProperties = {
|
|
65
|
-
id
|
|
66
|
-
type
|
|
67
|
-
schema
|
|
65
|
+
id?: string;
|
|
66
|
+
type?: SectionTypeV2;
|
|
67
|
+
schema?: Definition;
|
|
68
|
+
title?: string;
|
|
68
69
|
};
|
|
@@ -6,3 +6,9 @@ import type { SapUi5V4 } from '../../../specification/v4';
|
|
|
6
6
|
* @param {boolean} [add=true] - Add or remove library.
|
|
7
7
|
*/
|
|
8
8
|
export declare function updateDependencyLib(manifest: SapUi5V4, name: string, add?: boolean): void;
|
|
9
|
+
/**
|
|
10
|
+
* Looks for <...> pattern in the input string; if found, extracts this last part of the string
|
|
11
|
+
* @param longId - schema ID in its long format
|
|
12
|
+
* @returns the converted ID
|
|
13
|
+
*/
|
|
14
|
+
export declare function extractLastIdPart(longId: string): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GenerateAppSchemaParameters } from '../../../apiTypes';
|
|
2
|
+
/**
|
|
3
|
+
* Generates an app specific schema for the FE V4 Freestyle page from the generic schema.
|
|
4
|
+
* Generic types are replaced by information from the app specific annotations.
|
|
5
|
+
* @param {GenerateAppSchemaParameters} generateParameters - list of API input parameters
|
|
6
|
+
* @param genericSchema - generic JSON schema of an object page
|
|
7
|
+
*
|
|
8
|
+
* @returns {object} application-specific schema of the freestyle page
|
|
9
|
+
*/
|
|
10
|
+
export declare function generateFreestyleSchemaV4(_generateParameters: GenerateAppSchemaParameters, genericSchema: object): object;
|
|
@@ -28,3 +28,15 @@ export declare function generateObjectPageInterfaceV4(genericSchema: object, ent
|
|
|
28
28
|
* @returns the app specific JSON schema
|
|
29
29
|
*/
|
|
30
30
|
export declare function generateListReportInterfaceV4(templateType: TemplateType, genericSchema: object, entitySetName: string, annotations: FileData[], logger?: ExtensionLogger, manifest?: object): object;
|
|
31
|
+
/**
|
|
32
|
+
* Generates the app specific schema of a freestyle page out of the generic schema.
|
|
33
|
+
* Generic types are replaced by information from the app specific annotations.
|
|
34
|
+
* @param {TemplateType} templateType - the template type allows distinguishing LR and ALP
|
|
35
|
+
* @param genericSchema - generic JSON schema of a list report
|
|
36
|
+
* @param annotations - list of all annotation files (file content plus URI as identifier)
|
|
37
|
+
* @param {ExtensionLogger} logger - Logger class for logging messages
|
|
38
|
+
* @param manifest - manifest.json of the app
|
|
39
|
+
*
|
|
40
|
+
* @returns the app specific JSON schema
|
|
41
|
+
*/
|
|
42
|
+
export declare function generateFreestyleInterfaceV4(templateType: TemplateType, genericSchema: object, annotations: FileData[], manifest?: object, entitySetName?: string, logger?: ExtensionLogger): object;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { generateListReportSchemaV4 } from './listReport';
|
|
2
2
|
export { generateObjectPageSchemaV4 } from './objectPage';
|
|
3
|
-
export {
|
|
3
|
+
export { generateFreestyleSchemaV4 } from './freestylePage';
|
|
4
|
+
export { generateListReportInterfaceV4, generateObjectPageInterfaceV4, generateFreestyleInterfaceV4 } from './generate';
|
|
@@ -1,20 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { Files } from '../../../common';
|
|
3
|
-
import { TemplateType } from '../../../common';
|
|
4
|
-
import type { SapUiAppPagesV4, Manifest, Pages } from '../../../../specification/v4';
|
|
1
|
+
import type { Files, TemplateType } from '../../../common';
|
|
5
2
|
import type { ExtensionLogger } from '../../../..';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Namespace = "sap.fe.templates"
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Determines the Pages(app.json) using routing configuration from manifest and creates the configuration for each page
|
|
13
|
-
* @param manifest - manifest.json of the app
|
|
14
|
-
* @param schemas - list of JSON schemas of all pages
|
|
15
|
-
*/
|
|
16
|
-
export declare function getPagesAndConfigs(manifest: Manifest, schemas: Files, templateType: TemplateType, logger?: ExtensionLogger): Pages;
|
|
17
|
-
export declare class V4AppProvider extends AppProvider {
|
|
3
|
+
import type { Manifest } from '../../../../specification/v4';
|
|
4
|
+
import { BaseAppProvider } from './baseAppProvider';
|
|
5
|
+
export declare class V4AppProvider extends BaseAppProvider {
|
|
18
6
|
constructor(manifest: Manifest, schemas: Files, templateType: TemplateType, logger?: ExtensionLogger);
|
|
19
7
|
}
|
|
20
|
-
export declare function getPages(manifest: Manifest, targetName: string): SapUiAppPagesV4;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { AppProvider } from '../../../common/appProvider';
|
|
2
|
+
import { AppSettings } from '../../application';
|
|
3
|
+
import type { Files } from '../../../common';
|
|
4
|
+
import { TemplateType } from '../../../common';
|
|
5
|
+
import type { SapUiAppPagesV4, SapUi5RoutingV4, Manifest, Pages, Page, RoutingTargetOptions } from '../../../../specification/v4';
|
|
6
|
+
import { PageTypeV4 } from '../../../../specification/common';
|
|
7
|
+
import type { ExtensionLogger } from '../../../..';
|
|
8
|
+
export declare enum Constants {
|
|
9
|
+
OptionalQuery = ":?query:",
|
|
10
|
+
Component = "sap/fe/AppComponent",
|
|
11
|
+
Namespace = "sap.fe.templates"
|
|
12
|
+
}
|
|
13
|
+
export declare const unhandledControllers: Array<string>;
|
|
14
|
+
export declare type ConversionParameters = {
|
|
15
|
+
target: RoutingTargetOptions;
|
|
16
|
+
pageType: PageTypeV4;
|
|
17
|
+
manifest: Manifest;
|
|
18
|
+
schemas: Files;
|
|
19
|
+
logger: ExtensionLogger;
|
|
20
|
+
page: Page;
|
|
21
|
+
id: string;
|
|
22
|
+
templateType: TemplateType;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Determines the Pages(app.json) using routing configuration from manifest and creates the configuration for each page
|
|
26
|
+
* @param manifest - manifest.json of the app
|
|
27
|
+
* @param schemas - list of JSON schemas of all pages
|
|
28
|
+
*/
|
|
29
|
+
export declare function getPagesAndConfigs(manifest: Manifest, schemas: Files, templateType: TemplateType, logger?: ExtensionLogger): Pages;
|
|
30
|
+
/**
|
|
31
|
+
* Get the id of the page that is to open when the application is started.
|
|
32
|
+
* @param routing UI5 routing configuration
|
|
33
|
+
*/
|
|
34
|
+
export declare function getHome(routing: SapUi5RoutingV4): string;
|
|
35
|
+
/**
|
|
36
|
+
* Method which detects app settings from manifest.
|
|
37
|
+
* Currently only one setting is detected -Flexible Column Layout
|
|
38
|
+
* @param routing UI5 routing configuration.
|
|
39
|
+
* @return {AppSettings} Application settings.
|
|
40
|
+
*/
|
|
41
|
+
export declare function getSettings(routing: SapUi5RoutingV4): AppSettings;
|
|
42
|
+
export declare function getPages(manifest: Manifest, targetName: string): SapUiAppPagesV4;
|
|
43
|
+
export declare abstract class BaseAppProvider extends AppProvider {
|
|
44
|
+
constructor(manifest: Manifest, schemas: Files, templateType: TemplateType, logger?: ExtensionLogger);
|
|
45
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Files, TemplateType } from '../../../common';
|
|
2
|
+
import type { ExtensionLogger } from '../../../..';
|
|
3
|
+
import type { Manifest } from '../../../../specification/v4';
|
|
4
|
+
import { BaseAppProvider } from './baseAppProvider';
|
|
5
|
+
export declare class V4FreestyleAppProvider extends BaseAppProvider {
|
|
6
|
+
constructor(manifest: Manifest, schemas: Files, templateType: TemplateType, logger?: ExtensionLogger);
|
|
7
|
+
}
|
|
@@ -13,7 +13,7 @@ import type { Definition } from 'typescript-json-schema';
|
|
|
13
13
|
* @param sectionId - identifier of the current object page section in schema
|
|
14
14
|
* @param sectionIdInManifest - identifier of the current object page section in manifest
|
|
15
15
|
*/
|
|
16
|
-
export declare function addCustomColumnDefinition(appSchema:
|
|
16
|
+
export declare function addCustomColumnDefinition(appSchema: Definition, 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
|
|
@@ -44,7 +44,7 @@ export declare function addLineItemsType(appSchema: Definition, lineItemAnnotati
|
|
|
44
44
|
* @param positionName - ID of the definition of custom column position in schema
|
|
45
45
|
* @param sectionIdInManifest - identifier of the current object page section in manifest
|
|
46
46
|
*/
|
|
47
|
-
export declare function addFragmentEnumForAnchor(appSchema: Definition, lineItemId: string, v4Page: SapUiAppPageV4, positionName?:
|
|
47
|
+
export declare function addFragmentEnumForAnchor(appSchema: Definition, lineItemId: string, v4Page: SapUiAppPageV4, positionName?: string, sectionIdInManifest?: string): void;
|
|
48
48
|
/**
|
|
49
49
|
* Find the relevant V4 page under the routing targets of manifest,json
|
|
50
50
|
* @param pages - list of all pages in manifest
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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.
|
|
3
|
+
"version": "1.96.17",
|
|
4
4
|
"displayName": "SAP Fiori tools - Specification",
|
|
5
5
|
"description": "SAP Fiori tools - Specification",
|
|
6
6
|
"files": [
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"engines": {
|
|
16
16
|
"node": ">=14.16.0",
|
|
17
|
-
"yarn": ">=1.22.
|
|
17
|
+
"yarn": ">=1.22.19"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"clean": "rimraf ./dist ./schemas",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"publisher": "SAPSE",
|
|
47
47
|
"license": "SEE LICENSE IN LICENSE",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@sap-ux/fe-fpm-writer": "0.
|
|
49
|
+
"@sap-ux/fe-fpm-writer": "0.11.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@sap-ux/annotation-converter": "0.5.7",
|