@sap/ux-specification 1.96.13 → 1.96.16
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 +108 -16
- 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/schemas/v4/ListReportConfig.json +3 -3
- 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/controls/Table.d.ts +2 -2
- package/dist/src/specification/v4/pages/FreestylePageConfig.d.ts +2 -0
- package/dist/src/specification/v4/pages/ListReportConfig.d.ts +1 -1
- 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/types.d.ts +5 -0
- package/dist/src/sync/common/utils.d.ts +19 -4
- 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/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/ListReport.d.ts +1 -1
- package/dist/src/sync/v4/export/pages/index.d.ts +1 -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 +4 -3
- package/dist/test/test-utils/utils.d.ts +1 -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 +4 -4
|
@@ -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",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"filterBar": {
|
|
10
10
|
"$ref": "#/definitions/FilterBar",
|
|
11
|
-
"description": "Filter
|
|
11
|
+
"description": "Filter Bar"
|
|
12
12
|
},
|
|
13
13
|
"chart": {
|
|
14
14
|
"$ref": "#/definitions/ALPChartView",
|
|
@@ -240,7 +240,7 @@
|
|
|
240
240
|
"artifactType": "Manifest"
|
|
241
241
|
},
|
|
242
242
|
"createAtEnd": {
|
|
243
|
-
"description": "In case of inline creation mode you can decide if the new row will be created at the end of the table, or
|
|
243
|
+
"description": "In case of inline creation mode you can decide if the new row will be created at the end of the table, or directly after the currently selected table. The default value is \"true\"",
|
|
244
244
|
"type": "boolean",
|
|
245
245
|
"artifactType": "Manifest"
|
|
246
246
|
}
|
|
@@ -595,7 +595,7 @@
|
|
|
595
595
|
"artifactType": "Manifest"
|
|
596
596
|
},
|
|
597
597
|
"createAtEnd": {
|
|
598
|
-
"description": "In case of inline creation mode you can decide if the new row will be created at the end of the table, or
|
|
598
|
+
"description": "In case of inline creation mode you can decide if the new row will be created at the end of the table, or directly after the currently selected table. The default value is \"true\"",
|
|
599
599
|
"type": "boolean",
|
|
600
600
|
"artifactType": "Manifest"
|
|
601
601
|
}
|
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;
|
|
@@ -36,7 +36,7 @@ export interface TableCreationMode {
|
|
|
36
36
|
*/
|
|
37
37
|
name?: TableCreationModeType;
|
|
38
38
|
/**
|
|
39
|
-
* In case of inline creation mode you can decide if the new row will be created at the end of the table, or
|
|
39
|
+
* In case of inline creation mode you can decide if the new row will be created at the end of the table, or directly after the currently selected table. The default value is "true"
|
|
40
40
|
*/
|
|
41
41
|
createAtEnd?: boolean;
|
|
42
42
|
}
|
|
@@ -50,7 +50,7 @@ export interface ViewTableCreationMode {
|
|
|
50
50
|
*/
|
|
51
51
|
name?: TableCreationModeType;
|
|
52
52
|
/**
|
|
53
|
-
* In case of inline creation mode you can decide if the new row will be created at the end of the table, or
|
|
53
|
+
* In case of inline creation mode you can decide if the new row will be created at the end of the table, or directly after the currently selected table. The default value is "true"
|
|
54
54
|
*/
|
|
55
55
|
createAtEnd?: boolean;
|
|
56
56
|
}
|
|
@@ -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
|
/**
|
|
@@ -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'
|
|
@@ -94,7 +96,7 @@ export declare function getSectionFacet(facetDefinition: anyFacetType, sourceEnt
|
|
|
94
96
|
/**
|
|
95
97
|
* Finds the alias for a given namespace in the references' section of the converted service metadata.
|
|
96
98
|
* An empty object is created if the path element does not exist yet.
|
|
97
|
-
* Exception: if an empty array is the next element of the 'path' definition, an empty array is created
|
|
99
|
+
* Exception: if an empty array is the next element of the 'path' definition, an empty array is created instead of an empty object.
|
|
98
100
|
* @param {object} manifest - manifest that is being modified during export
|
|
99
101
|
* @param {string} path - path of the property in the manifest
|
|
100
102
|
* @param {string} targetAnnotation - target annotation (optional)
|
|
@@ -208,7 +210,7 @@ export declare type NextDefinition = {
|
|
|
208
210
|
};
|
|
209
211
|
/**
|
|
210
212
|
* Recursive function to determine the next config part, next definition in the app schema and the title
|
|
211
|
-
* @param appSchema - app-
|
|
213
|
+
* @param appSchema - app-specific JSON schema
|
|
212
214
|
* @param title - default title
|
|
213
215
|
* @param currentConfigObject - current part of the configuration that gets traversed
|
|
214
216
|
* @param propertyDefinition - definition of a given property in the app schema
|
|
@@ -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';
|
|
@@ -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
|
};
|
|
@@ -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
|
+
}
|
|
@@ -11,7 +11,7 @@ import type { Definition } from 'typescript-json-schema';
|
|
|
11
11
|
* @param logger - logger for error messages
|
|
12
12
|
* @param customColumnDefinitionName - custom column definition name
|
|
13
13
|
* @param sectionId - identifier of the current object page section in schema
|
|
14
|
-
* @param
|
|
14
|
+
* @param sectionIdInManifest - identifier of the current object page section in manifest
|
|
15
15
|
*/
|
|
16
16
|
export declare function addCustomColumnDefinition(appSchema: object, v4Page: SapUiAppPageV4, logger: ExtensionLogger, customColumnDefinitionName?: string, sectionId?: string, sectionIdInManifest?: string): void;
|
|
17
17
|
/**
|
|
@@ -30,7 +30,7 @@ export declare function handleActionRecord(appSchema: Definition, entityType: En
|
|
|
30
30
|
* @param lineItemAnnotation - the UI.LineItem annotation, comprising all records
|
|
31
31
|
* @param entityType - the entity type as part of the AVT ConvertedMetadata
|
|
32
32
|
* @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by Annotation Vocabularies Tool
|
|
33
|
-
* @param lineItemId - in case of OP the
|
|
33
|
+
* @param lineItemId - in case of OP the parameter must be passed to distinguish the OP tables;
|
|
34
34
|
* in case of LR or ALP 'LineItems' is passed.
|
|
35
35
|
* @param columnDefinitionName - name of the column definition, i.e. TableColumn or ObjectPageTableColumn
|
|
36
36
|
* @param customColumnDefinitionName - name of the custom column definition
|
|
@@ -42,6 +42,7 @@ export declare function addLineItemsType(appSchema: Definition, lineItemAnnotati
|
|
|
42
42
|
* @param lineItemId - ID of the current line item in schema
|
|
43
43
|
* @param v4Page - current page in manifest
|
|
44
44
|
* @param positionName - ID of the definition of custom column position in schema
|
|
45
|
+
* @param sectionIdInManifest - identifier of the current object page section in manifest
|
|
45
46
|
*/
|
|
46
47
|
export declare function addFragmentEnumForAnchor(appSchema: Definition, lineItemId: string, v4Page: SapUiAppPageV4, positionName?: DefinitionName, sectionIdInManifest?: string): void;
|
|
47
48
|
/**
|
|
@@ -59,4 +60,4 @@ export declare function findPageV4(pages: SapUiAppPageV4[], pageName: string, en
|
|
|
59
60
|
* @param {GenerateAppSchemaParameters} generateParameters - object comprising all input parameters
|
|
60
61
|
* @returns the right definition name for the table in the schema
|
|
61
62
|
*/
|
|
62
|
-
export declare function alignSchemaWithTemplateType(appSchema: Definition, generateParameters: GenerateAppSchemaParameters):
|
|
63
|
+
export declare function alignSchemaWithTemplateType(appSchema: Definition, generateParameters: GenerateAppSchemaParameters): DefinitionName.Table | DefinitionName.ALPTableView;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { FileData } from '../../src';
|
|
2
|
-
import type { ExtensionLogger } from '../../src';
|
|
1
|
+
import type { FileData, ExtensionLogger } from '../../src';
|
|
3
2
|
import type { Location } from '../../src/extensionLogger';
|
|
4
3
|
import type { ExportResults } from '../../src/sync/common';
|
|
5
4
|
export declare class Logger implements ExtensionLogger {
|
|
@@ -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.16",
|
|
4
4
|
"displayName": "SAP Fiori tools - Specification",
|
|
5
5
|
"description": "SAP Fiori tools - Specification",
|
|
6
6
|
"files": [
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"v4": "dist/specification/v4/index-min.js"
|
|
14
14
|
},
|
|
15
15
|
"engines": {
|
|
16
|
-
"node": ">=
|
|
17
|
-
"yarn": ">=1.22.
|
|
16
|
+
"node": ">=14.16.0",
|
|
17
|
+
"yarn": ">=1.22.18"
|
|
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",
|