@sap/ux-specification 1.96.9 → 1.96.10

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.
@@ -26,9 +26,14 @@
26
26
  }
27
27
  ]
28
28
  },
29
+ "defaultTemplateAnnotationPath": {
30
+ "description": "defaultTemplateAnnotationPath must be a reference to a SelectionPresentationVariant.\nYou use the SelectionPresentationVariant to configure the default visualizations and default filter values of the main content area.",
31
+ "type": "string",
32
+ "artifactType": "Manifest"
33
+ },
29
34
  "defaultPath": {
30
35
  "$ref": "#/definitions/DefaultPathType",
31
- "description": "\"defaultPath\" can be \"primary\", \"secondary\", or \"both\". If it is \"primary\", SAP Fiori elements loads the app in chart-only view. If it is \"secondary\", SAP Fiori elements loads the app in table-only view. If it is \"both\", SAP Fiori elements loads the app in hybrid view.",
36
+ "description": "defaultPath can be \"primary\", \"secondary\", or \"both\". If it is \"primary\", SAP Fiori elements loads the app in chart-only view. If it is \"secondary\", SAP Fiori elements loads the app in table-only view. If it is \"both\", SAP Fiori elements loads the app in hybrid view.",
32
37
  "artifactType": "Manifest"
33
38
  },
34
39
  "$schema": {
@@ -513,6 +518,11 @@
513
518
  "isViewNode": true,
514
519
  "type": "object",
515
520
  "properties": {
521
+ "annotationPath": {
522
+ "description": "The secondary annotation path can be either UI.LineItem, UI.PresentationVariant, or UI.SelectionPresentationVariant.",
523
+ "type": "string",
524
+ "artifactType": "Manifest"
525
+ },
516
526
  "initialLoad": {
517
527
  "$ref": "#/definitions/InitialLoadType",
518
528
  "description": "initialLoad defines whether or not the data in the table is automatically loaded.\n- Disabled - Data is never loaded when opening the app without an app state.\n- Enabled - Data is always loaded when opening the app.\n- Auto - Data is only loaded, if initial/preset filters are available (e.g. defined by \"SelectionVariant\" definition, URL parameters or user defaults).",
@@ -264,6 +264,10 @@ export interface LRTableView extends TableSettings {
264
264
  * @isViewNode true
265
265
  */
266
266
  export interface Table extends TableSettings {
267
+ /**
268
+ * The secondary annotation path can be either UI.LineItem, UI.PresentationVariant, or UI.SelectionPresentationVariant.
269
+ */
270
+ annotationPath?: string;
267
271
  /**
268
272
  * initialLoad defines whether or not the data in the table is automatically loaded.
269
273
  * - Disabled - Data is never loaded when opening the app without an app state.
@@ -25,7 +25,12 @@ export interface ListReportConfig extends PageConfig {
25
25
  */
26
26
  table?: Table | ALPTableView;
27
27
  /**
28
- * "defaultPath" can be "primary", "secondary", or "both". If it is "primary", SAP Fiori elements loads the app in chart-only view. If it is "secondary", SAP Fiori elements loads the app in table-only view. If it is "both", SAP Fiori elements loads the app in hybrid view.
28
+ * defaultTemplateAnnotationPath must be a reference to a SelectionPresentationVariant.
29
+ * You use the SelectionPresentationVariant to configure the default visualizations and default filter values of the main content area.
30
+ */
31
+ defaultTemplateAnnotationPath?: string;
32
+ /**
33
+ * defaultPath can be "primary", "secondary", or "both". If it is "primary", SAP Fiori elements loads the app in chart-only view. If it is "secondary", SAP Fiori elements loads the app in table-only view. If it is "both", SAP Fiori elements loads the app in hybrid view.
29
34
  */
30
35
  defaultPath?: DefaultPathType;
31
36
  }
@@ -38,6 +38,7 @@ export declare type SapUiPageSettingsV4 = SapUiGenericAppPageSettings & {
38
38
  controlConfiguration?: SapUiGenericAppPageSettings;
39
39
  content?: SapUi5RoutingTargetContent;
40
40
  views?: SapUi5Views;
41
+ defaultTemplateAnnotationPath?: string;
41
42
  };
42
43
  export interface SapUiAppPageV4 {
43
44
  type: string;
@@ -3,6 +3,7 @@ import { FioriElementsVersion } from '../../../specification/common';
3
3
  import type { FacetConfig } from '..';
4
4
  import { SectionType } from '..';
5
5
  import type { EntitySet } from '@sap-ux/annotation-converter';
6
+ import type { Definition } from 'typescript-json-schema';
6
7
  /**
7
8
  * Adds definitions for forms in object page sections to the app schema
8
9
  * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
@@ -11,7 +12,7 @@ import type { EntitySet } from '@sap-ux/annotation-converter';
11
12
  * @param {object} appSchema - app specific schema that gets enhanced
12
13
  * @param {FioriElementsVersion} version - Fiori Elements version
13
14
  */
14
- export declare function handleForm(sectionType: SectionType, section: FacetConfig, appSchemaSection: object, appSchema: object, version: FioriElementsVersion, withActions?: boolean): void;
15
+ export declare function handleForm(sectionType: SectionType, section: FacetConfig, appSchemaSection: Definition, appSchema: Definition, version: FioriElementsVersion, withActions?: boolean): void;
15
16
  /**
16
17
  * Replaces an alias in an annotation ID or reference, based on the AVT references' list
17
18
  * @param annotationIdentifier - annotation ID or reference
@@ -36,20 +37,20 @@ export declare function getActionNameAndId(action: string, entityType: EntityTyp
36
37
  * @param {EntityType} entityType - current entity type
37
38
  * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
38
39
  */
39
- export declare function addFooterActions(appSchema: object, entityType: EntityType, oDataServiceAVT: ConverterOutput): void;
40
+ export declare function addFooterActions(appSchema: Definition, entityType: EntityType, oDataServiceAVT: ConverterOutput): void;
40
41
  /**
41
42
  * Add Object Page Header Action Buttons to app-specific schema
42
43
  * @param {object} appSchema Schema of the app
43
44
  * @param {EntityType} entityType - current entity type
44
45
  * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
45
46
  */
46
- export declare function addHeaderActions(appSchema: object, entityType: EntityType, oDataServiceAVT: ConverterOutput, addHeaderActionCallBack: any): void;
47
+ export declare function addHeaderActions(appSchema: Definition, entityType: EntityType, oDataServiceAVT: ConverterOutput, addHeaderActionCallBack: any): void;
47
48
  /**
48
49
  * Adds common Object Page Header definitions to the app schema
49
50
  * @param appSchema - app-specific JSOn schema
50
51
  * @param entityType - current entity Type
51
52
  */
52
- export declare function addCommonHeaderSchema(appSchema: object, entityType: EntityType): void;
53
+ export declare function addCommonHeaderSchema(appSchema: Definition, entityType: EntityType): void;
53
54
  /**
54
55
  * Common logic to determine the EntitySet of a facet
55
56
  * @param facet - current facet or section
@@ -23,30 +23,30 @@ export declare function addEnumForSingleTabVariant(entityType: EntityType, appSc
23
23
  * @param definitionName - name of the definition in the app schema
24
24
  * @param {EntitySet} entitySet - current entity set of the page or view
25
25
  */
26
- export declare function addEnumForMultiTabVariant(appSchema: object, definitionName: string, entitySet: EntitySet): void;
26
+ export declare function addEnumForMultiTabVariant(appSchema: Definition, definitionName: string, entitySet: EntitySet): void;
27
27
  /**
28
28
  * Adds the enume values for entitySet as part of the multiple view scenario
29
29
  * @param {ConverterOutput} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
30
30
  * @param appSchema - app specific JSOn schema
31
31
  * @param definitionName - name of the definition in the app schema
32
32
  */
33
- export declare function addEnumForVariantEntitySet(oDataServiceAVT: ConverterOutput, appSchema: object, definitionName: string): void;
33
+ export declare function addEnumForVariantEntitySet(oDataServiceAVT: ConverterOutput, appSchema: Definition, definitionName: string): void;
34
34
  /**
35
35
  * Adds an enum filled with existing UI annotations for annotationPath property in FilterBar
36
36
  * @param {EntityType} entityType
37
37
  * @param appSchema - app specific JSOn schema
38
38
  * @param definitionName - name of the definition in the app schema
39
39
  */
40
- export declare function addEnumForFilterBarAnnotationPath(entityType: EntityType, appSchema: object, definitionName: string): void;
40
+ export declare function addEnumForFilterBarAnnotationPath(entityType: EntityType, appSchema: Definition, definitionName: string): void;
41
41
  /**
42
42
  * Method adds definition for 'RelatedFacetKeys' as enum with describtion and adds references to 'RelatedFacetKeys' for custom section definitions.
43
- * @param {object} schema App specific schema that potentially gets enhanced
43
+ * @param {object} appSchema App specific schema that potentially gets enhanced
44
44
  * @param {string[]>} sectionDefinitions array of section definitions which should be updated with new reference to 'RelatedFacetKeys' enum.
45
45
  * @param {FacetSection[]} facetSections Array of facet section objects which is used to generate enum values.
46
46
  * @param {Array<keyof Omit<FacetSection, 'custom'>>} idProperties Array of property names which should be looked up in 'FacetSection' object.
47
47
  * Please note that method depends on order and takes first non empty value associated to passed properties.
48
48
  */
49
- export declare function addDefinitionForRelatedFacetKeys(schema: object, sectionDefinitions: string[], facetSections: FacetSection[], idProperties: Array<keyof Omit<FacetSection, 'custom'>>): void;
49
+ export declare function addDefinitionForRelatedFacetKeys(appSchema: object, sectionDefinitions: string[], facetSections: FacetSection[], idProperties: Array<keyof Omit<FacetSection, 'custom'>>): void;
50
50
  /**
51
51
  * Functions used both by V2 and V4 to add the common definitions for a line item to the app schema
52
52
  * @param appSchema - the app specific schema that shall get enhanced
@@ -57,7 +57,7 @@ export declare function addDefinitionForRelatedFacetKeys(schema: object, section
57
57
  * Passed in the V4 case, then additional properties of this type will be allowed.
58
58
  * @returns the actions definition plus the annotation path to the given line item
59
59
  */
60
- export declare function addCommonLineItemDefinitions(appSchema: object, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId: string, customColumnDefinitionName?: string): {
60
+ export declare function addCommonLineItemDefinitions(appSchema: Definition, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId: string, customColumnDefinitionName?: string): {
61
61
  actions: object;
62
62
  footerActions: object;
63
63
  lineItemPath: string;
@@ -68,7 +68,7 @@ export declare function addCommonLineItemDefinitions(appSchema: object, lineItem
68
68
  * @param {EntityType} entityType - Given entity type for which entries shall get generated
69
69
  * @param {string=} floorplanSuffix - floorplan specific suffix (optional)
70
70
  */
71
- export declare function addFieldsType(appSchema: object, entityType: EntityType, floorplanSuffix?: string): void;
71
+ export declare function addFieldsType(appSchema: Definition, entityType: EntityType, floorplanSuffix?: string): void;
72
72
  export declare enum DataType {
73
73
  String = "String",
74
74
  Rating = "Rating",
@@ -155,6 +155,10 @@ export interface FileData {
155
155
  dataSourceUri: string;
156
156
  fileContent: string;
157
157
  }
158
+ export declare enum Visualization {
159
+ LineItem = "LineItem",
160
+ Chart = "Chart"
161
+ }
158
162
  export declare enum FacetBase {
159
163
  LineItem = "LineItem",
160
164
  CollectionFacet = "CollectionFacet",
@@ -218,35 +222,57 @@ export declare enum ViewTemplateType {
218
222
  ResponsiveTableCellsExtension = "ResponsiveTableCellsExtension"
219
223
  }
220
224
  export declare enum DefinitionName {
221
- TableColumn = "TableColumn",
222
- ViewTableColumn = "ViewTableColumn",
223
- ObjectPageTable = "ObjectPageTable",
224
- ObjectPageTableColumn = "ObjectPageTableColumn",
225
- ToolBarLR = "ToolBar<LineItems>",
226
- ToolBar = "ToolBar",
227
- CustomColumns = "TableCustomColumns",
225
+ Actions = "Actions",
226
+ ALPChart = "ALPChart",
227
+ ALPChartView = "ALPChartView",
228
+ ALPTable = "ALPTable",
229
+ ALPTableView = "ALPTableView",
230
+ AnalyticalListPageFilterBar = "AnalyticalListPageFilterBar",
231
+ AnnotationPathAsObject = "AnnotationPathAsObject",
232
+ ChartToolBarAction = "ChartToolBarAction",
228
233
  CustomColumn = "TableCustomColumn",
229
- ViewCustomColumn = "ViewTableCustomColumn",
230
234
  CustomColumnOP = "TableCustomColumnOP",
231
- Position = "Position",
232
- PositionOP = "PositionOP",
235
+ CustomColumns = "TableCustomColumns",
236
+ Fields = "Fields",
237
+ FooterActions = "FooterActions",
238
+ Form = "Form",
239
+ FormAction = "FormAction",
240
+ GenericActions = "GenericActions",
241
+ HeaderActions = "HeaderActions",
242
+ LineItems = "LineItems",
243
+ LineItemsOfView = "LineItemsOfView",
233
244
  ListReportFilterBar = "ListReportFilterBar",
234
- AnalyticalListPageFilterBar = "AnalyticalListPageFilterBar",
235
- ALPChart = "ALPChart",
236
- ALPChartView = "ALPChartView",
237
- ViewChartToolBar = "ViewChartToolBar",
238
- Table = "Table",
239
245
  LRTableView = "LRTableView",
240
246
  LRChartView = "LRChartView",
241
- Actions = "Actions",
242
- ViewToolBarAction = "ViewToolBarAction",
243
- ChartToolBarAction = "ChartToolBarAction",
244
- ToolBarAction = "ToolBarAction",
245
- ObjectPageToolBarAction = "ObjectPageToolBarAction",
246
247
  MultiTableModeV4 = "MultiTableModeV4",
247
- AnnotationPathAsObject = "AnnotationPathAsObject",
248
- ALPTable = "ALPTable",
249
- ALPTableView = "ALPTableView"
248
+ ObjectPageFooter = "ObjectPageFooter",
249
+ ObjectPageFooterAction = "ObjectPageFooterAction",
250
+ ObjectPageFooterActions = "ObjectPageFooterActions",
251
+ ObjectPageHeader = "ObjectPageHeader",
252
+ ObjectPageTable = "ObjectPageTable",
253
+ ObjectPageTableColumn = "ObjectPageTableColumn",
254
+ ObjectPageToolBarAction = "ObjectPageToolBarAction",
255
+ Position = "Position",
256
+ PositionOP = "PositionOP",
257
+ Table = "Table",
258
+ TableColumn = "TableColumn",
259
+ ToolBarAction = "ToolBarAction",
260
+ ToolBarLR = "ToolBar<LineItems>",
261
+ ToolBar = "ToolBar",
262
+ ViewTableColumn = "ViewTableColumn",
263
+ ViewCustomColumn = "ViewTableCustomColumn",
264
+ ViewChartToolBar = "ViewChartToolBar",
265
+ ViewToolBarAction = "ViewToolBarAction"
266
+ }
267
+ export declare enum SchemaTag {
268
+ hidden = "hidden",
269
+ isViewNode = "isViewNode",
270
+ annotationPath = "annotationPath",
271
+ annotationType = "annotationType",
272
+ dataType = "dataType",
273
+ propertyIndex = "propertyIndex",
274
+ artifactType = "artifactType",
275
+ key = "key"
250
276
  }
251
277
  export declare const METADATAPATH = "webapp/localService/metadata.xml";
252
278
  export declare const MANIFESTPATH = "webapp/manifest.json";
@@ -1,4 +1,20 @@
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;
4
20
  export declare function transformPageToNewManifestV2(pageId: string, configPages: Pages, manifestPage: object): void;
@@ -148,6 +148,7 @@ export declare class MultiTableModeV4 implements MultiTableModeIF {
148
148
  * Sync class for Table
149
149
  */
150
150
  export declare class Table extends TableSettings implements TableInterface {
151
+ annotationPath?: string;
151
152
  views?: MultiTableModeV4;
152
153
  initialLoad?: InitialLoadType;
153
154
  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
  }
@@ -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,20 @@ 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, actions: 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 columnDefinitionName - name of the column definition, i.e. TableColumn or ObjectPageTableColumn
34
33
  * @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.
34
+ * @param lineItemId - in case of OP the paramter must be passed to distinguish the OP tables;
35
+ * in case of LR or ALP 'LineItems' is passed.
36
+ * @param columnDefinitionName - name of the column definition, i.e. TableColumn or ObjectPageTableColumn
37
+ * @param customColumnDefinitionName - name of the custom column definition
38
38
  */
39
- export declare function addLineItemsType(appSchema: object, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, oDataServiceAVT: ConverterOutput, columnDefinitionName?: string, customColumnDefinitionName?: string, lineItemId?: string): void;
39
+ export declare function addLineItemsType(appSchema: Definition, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, oDataServiceAVT: ConverterOutput, lineItemId: string, columnDefinitionName?: string, customColumnDefinitionName?: string): void;
40
40
  /**
41
41
  * Adds an enum or value help to position > anchor of custom column
42
42
  * @param appSchema - app specific JSON schema
@@ -44,7 +44,7 @@ export declare function addLineItemsType(appSchema: object, lineItemAnnotation:
44
44
  * @param v4Page - current page in manifest
45
45
  * @param positionName - ID of the definition of custom column position in schema
46
46
  */
47
- export declare function addFragmentEnumForAnchor(appSchema: object, lineItemId: string, v4Page: SapUiAppPageV4, positionName?: DefinitionName, sectionIdInManifest?: string): void;
47
+ export declare function addFragmentEnumForAnchor(appSchema: Definition, lineItemId: string, v4Page: SapUiAppPageV4, positionName?: DefinitionName, 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 {};
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.10",
4
4
  "displayName": "SAP Fiori tools - Specification",
5
5
  "description": "SAP Fiori tools - Specification",
6
6
  "files": [