@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,8 +1,11 @@
1
1
  import type { EntitySet, EntityType } from '@sap-ux/annotation-converter';
2
2
  import type { AnnotationTerm, ConverterOutput, LineItem } from '@sap-ux/vocabularies-types';
3
- import { UIAnnotationTerms } from '@sap-ux/vocabularies-types';
4
3
  import type { Definition } from 'typescript-json-schema';
5
- import type { FacetSection } from '..';
4
+ import type { FacetConfig, FacetSection, SectionType } from '..';
5
+ import type { SectionTypeV2 } from '../../v2/types';
6
+ import type { PresentationVariantV4 } from '../../v4/types';
7
+ import { UIAnnotationTerms } from '@sap-ux/vocabularies-types';
8
+ import { DefinitionName } from '..';
6
9
  /**
7
10
  * Adds an enum filled with existing UI annotations of the given list (validAnnotations)
8
11
  * @param {EntityType} entityType
@@ -23,30 +26,30 @@ export declare function addEnumForSingleTabVariant(entityType: EntityType, appSc
23
26
  * @param definitionName - name of the definition in the app schema
24
27
  * @param {EntitySet} entitySet - current entity set of the page or view
25
28
  */
26
- export declare function addEnumForMultiTabVariant(appSchema: object, definitionName: string, entitySet: EntitySet): void;
29
+ export declare function addEnumForMultiTabVariant(appSchema: Definition, definitionName: string, entitySet: EntitySet): void;
27
30
  /**
28
- * Adds the enume values for entitySet as part of the multiple view scenario
31
+ * Adds the enum values for entitySet as part of the multiple view scenario
29
32
  * @param {ConverterOutput} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
30
33
  * @param appSchema - app specific JSOn schema
31
34
  * @param definitionName - name of the definition in the app schema
32
35
  */
33
- export declare function addEnumForVariantEntitySet(oDataServiceAVT: ConverterOutput, appSchema: object, definitionName: string): void;
36
+ export declare function addEnumForVariantEntitySet(oDataServiceAVT: ConverterOutput, appSchema: Definition, definitionName: string): void;
34
37
  /**
35
38
  * Adds an enum filled with existing UI annotations for annotationPath property in FilterBar
36
39
  * @param {EntityType} entityType
37
40
  * @param appSchema - app specific JSOn schema
38
41
  * @param definitionName - name of the definition in the app schema
39
42
  */
40
- export declare function addEnumForFilterBarAnnotationPath(entityType: EntityType, appSchema: object, definitionName: string): void;
43
+ export declare function addEnumForFilterBarAnnotationPath(entityType: EntityType, appSchema: Definition, definitionName: string): void;
41
44
  /**
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
45
+ * Method adds definition for 'RelatedFacetKeys' as enum with description and adds references to 'RelatedFacetKeys' for custom section definitions.
46
+ * @param {Definition} appSchema App specific schema that potentially gets enhanced
44
47
  * @param {string[]>} sectionDefinitions array of section definitions which should be updated with new reference to 'RelatedFacetKeys' enum.
45
48
  * @param {FacetSection[]} facetSections Array of facet section objects which is used to generate enum values.
46
49
  * @param {Array<keyof Omit<FacetSection, 'custom'>>} idProperties Array of property names which should be looked up in 'FacetSection' object.
47
50
  * Please note that method depends on order and takes first non empty value associated to passed properties.
48
51
  */
49
- export declare function addDefinitionForRelatedFacetKeys(schema: object, sectionDefinitions: string[], facetSections: FacetSection[], idProperties: Array<keyof Omit<FacetSection, 'custom'>>): void;
52
+ export declare function addDefinitionForRelatedFacetKeys(appSchema: Definition, sectionDefinitions: string[], facetSections: FacetSection[], idProperties: Array<keyof Omit<FacetSection, 'custom'>>): void;
50
53
  /**
51
54
  * Functions used both by V2 and V4 to add the common definitions for a line item to the app schema
52
55
  * @param appSchema - the app specific schema that shall get enhanced
@@ -57,9 +60,9 @@ export declare function addDefinitionForRelatedFacetKeys(schema: object, section
57
60
  * Passed in the V4 case, then additional properties of this type will be allowed.
58
61
  * @returns the actions definition plus the annotation path to the given line item
59
62
  */
60
- export declare function addCommonLineItemDefinitions(appSchema: object, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId: string, customColumnDefinitionName?: string): {
61
- actions: object;
62
- footerActions: object;
63
+ export declare function addCommonLineItemDefinitions(appSchema: Definition, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId: string, customColumnDefinitionName?: string): {
64
+ actions: Definition;
65
+ footerActions: Definition;
63
66
  lineItemPath: string;
64
67
  };
65
68
  /**
@@ -68,7 +71,7 @@ export declare function addCommonLineItemDefinitions(appSchema: object, lineItem
68
71
  * @param {EntityType} entityType - Given entity type for which entries shall get generated
69
72
  * @param {string=} floorplanSuffix - floorplan specific suffix (optional)
70
73
  */
71
- export declare function addFieldsType(appSchema: object, entityType: EntityType, floorplanSuffix?: string): void;
74
+ export declare function addFieldsType(appSchema: Definition, entityType: EntityType, floorplanSuffix?: string): void;
72
75
  export declare enum DataType {
73
76
  String = "String",
74
77
  Rating = "Rating",
@@ -101,3 +104,41 @@ export declare function determineDataType(field: object): string | undefined;
101
104
  * @param field - given field definition = annotation property, at AVT
102
105
  */
103
106
  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
+ /**
124
+ * Creates a definition link for a facet and definition name
125
+ * @param definition name of definition, as used in schema
126
+ * @param facetKey - key of the facet, as used in annotation
127
+ * @returns definition link of facet, as used in definition
128
+ */
129
+ export declare function getFacetDefinitionLink(definition: DefinitionName | SectionTypeV2, facetKey: string): string;
130
+ /**
131
+ * Extracts annotationPath from facet or Chart/LineItem fullyQualifiedName
132
+ * @param facet facet or Chart/LineItem
133
+ * @returns {string} annotationPath
134
+ */
135
+ export declare function getFacetAnnotationPath(facet: FacetConfig | PresentationVariantV4 | object): string | undefined;
136
+ /**
137
+ * Adds definitions for Address and Contact items in object page sections to the app schema
138
+ * @param {FacetConfig} facet - current facet.
139
+ * @param {string} facetKey - facet key.
140
+ * @param {object} sections - schema of current sections definition.
141
+ * @param {object} appSchema - app specific schema that potentially gets enhanced.
142
+ * @param {SectionType} sectionPrefix - prefix to distinguish Section and HeaderSection
143
+ */
144
+ export declare function handleAddressContact(facet: FacetConfig, facetKey: string, sections: Definition, appSchema: Definition, sectionPrefix: SectionType, subSectionPrefix?: SectionType, versionPostfix?: string): void;
@@ -1,5 +1,6 @@
1
1
  import type { DeprecatedProperties, SyncRule } from '../';
2
2
  import type { ExtensionLogger } from '../../../apiTypes';
3
+ import type { Definition } from 'typescript-json-schema';
3
4
  /**
4
5
  * Transfers the value of a single manifest setting to the config
5
6
  * @param syncRule - Metadata rule
@@ -22,11 +23,11 @@ export declare function importProperty(syncRule: SyncRule, manifestSection: {},
22
23
  */
23
24
  export declare function checkDeprecatedProperties(deprecatedProperties: DeprecatedProperties | undefined, manifestSection: {}, path: string, logger?: ExtensionLogger): void;
24
25
  /**
25
- * get title of the section (Facet ID)
26
+ * Determines the title of a section representation in the app schema, main aspect is checking the facet ID
26
27
  * @param schemaSection - Section in manifest.json
27
28
  * @param jsonSchema - app specific schema
28
29
  */
29
- export declare function getSectionTitle(schemaSection: object, jsonSchema: object): string;
30
+ export declare function getSectionTitle(schemaSection: Definition, jsonSchema: Definition): string | undefined;
30
31
  /**
31
32
  * Method returns target by resolving custom column reference name.
32
33
  * For example - 'TableCustomColumns<dummyTarget>' is resolved as 'dummyTarget'.
@@ -1,6 +1,7 @@
1
1
  import type { Manifest } from '../../specification/common/webapp/manifest';
2
- import type { EntityType } from '@sap-ux/vocabularies-types';
2
+ import type { AnnotationTerm, CollectionFacet, EntityType, ReferenceFacet, ReferenceURLFacet } from '@sap-ux/vocabularies-types';
3
3
  import type { ManifestSettingsType } from '../../specification/common/types';
4
+ export declare type anyFacetType = AnnotationTerm<CollectionFacet> | AnnotationTerm<ReferenceFacet> | AnnotationTerm<ReferenceURLFacet>;
4
5
  export declare enum ExportArtifacts {
5
6
  flex = "flex",
6
7
  manifest = "manifest"
@@ -35,6 +36,7 @@ export interface ExportResults {
35
36
  }
36
37
  export declare enum SectionType {
37
38
  Section = "Section",
39
+ SubSection = "SubSection",
38
40
  HeaderSection = "HeaderSection"
39
41
  }
40
42
  export declare enum ArtifactType {
@@ -109,12 +111,13 @@ export interface FlexAdapter {
109
111
  importFlexValue?: importFlexValue;
110
112
  }
111
113
  export declare type ManifestPath = (pageKeys?: string[], manifest?: Manifest, ...pathParts: string[]) => string;
114
+ export declare type ExportHandlerFunction = (manifestSection: unknown, configObject: unknown, key: string, manifestKey?: string, ...pathParts: string[]) => unknown;
112
115
  export interface ManifestConverter {
113
116
  path: ManifestPath;
114
117
  key?: string;
115
118
  import?: ((manifestSection: unknown, sectionId?: string, propertyKey?: string, breadcrumbs?: string[]) => unknown) | boolean;
116
- export?: ((manifestSection: unknown, configObject: unknown, key: string, manifestKey?: string, ...pathParts: string[]) => unknown) | boolean;
117
- delete?: (manifestSection: unknown, configObject: unknown, key: string, manifestKey: string) => unknown;
119
+ export?: ExportHandlerFunction | boolean;
120
+ delete?: ((manifestSection: unknown, configObject: unknown, key: string, manifestKey: string, syncRuleKey?: string) => unknown) | boolean;
118
121
  }
119
122
  export interface SyncRule {
120
123
  flex?: FlexAdapter;
@@ -155,6 +158,10 @@ export interface FileData {
155
158
  dataSourceUri: string;
156
159
  fileContent: string;
157
160
  }
161
+ export declare enum Visualization {
162
+ LineItem = "LineItem",
163
+ Chart = "Chart"
164
+ }
158
165
  export declare enum FacetBase {
159
166
  LineItem = "LineItem",
160
167
  CollectionFacet = "CollectionFacet",
@@ -164,6 +171,7 @@ export declare enum FacetBase {
164
171
  DataPoint = "DataPoint",
165
172
  Address = "Address",
166
173
  Contact = "Contact",
174
+ PresentationVariant = "PresentationVariant",
167
175
  Unknown = ""
168
176
  }
169
177
  export interface FacetConfig {
@@ -174,6 +182,7 @@ export interface FacetConfig {
174
182
  entityType?: EntityType;
175
183
  annotationPath?: string;
176
184
  target?: object;
185
+ facets?: FacetConfigs;
177
186
  }
178
187
  export interface SubSectionConfig {
179
188
  base: FacetBase;
@@ -218,41 +227,111 @@ export declare enum ViewTemplateType {
218
227
  ResponsiveTableCellsExtension = "ResponsiveTableCellsExtension"
219
228
  }
220
229
  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",
230
+ Actions = "Actions",
231
+ ALPChart = "ALPChart",
232
+ ALPChartView = "ALPChartView",
233
+ ALPTable = "ALPTable",
234
+ ALPTableView = "ALPTableView",
235
+ AnalyticalListPageFilterBar = "AnalyticalListPageFilterBar",
236
+ AnnotationPathAsObject = "AnnotationPathAsObject",
237
+ ChartToolBarAction = "ChartToolBarAction",
238
+ CommonHeaderFacetSettings = "CommonHeaderFacetSettings",
228
239
  CustomColumn = "TableCustomColumn",
229
- ViewCustomColumn = "ViewTableCustomColumn",
230
240
  CustomColumnOP = "TableCustomColumnOP",
231
- Position = "Position",
232
- PositionOP = "PositionOP",
241
+ CustomColumns = "TableCustomColumns",
242
+ CustomSections = "CustomSections",
243
+ FieldPath = "FieldPath",
244
+ Field = "Field",
245
+ Fields = "Fields",
246
+ Fields4Dialog = "Fields4Dialog",
247
+ Footer = "Footer",
248
+ FooterActions = "FooterActions",
249
+ Form = "Form",
250
+ FormAction = "FormAction",
251
+ GenericActions = "GenericActions",
252
+ GenericColumnsOP = "GenericColumnsOP",
253
+ GenericFooter = "GenericFooter",
254
+ GenericSections = "GenericSections",
255
+ HeaderActions = "HeaderActions",
256
+ HeaderSections = "HeaderSections",
257
+ LineItems = "LineItems",
258
+ LineItemsOfView = "LineItemsOfView",
233
259
  ListReportFilterBar = "ListReportFilterBar",
234
- AnalyticalListPageFilterBar = "AnalyticalListPageFilterBar",
235
- ALPChart = "ALPChart",
236
- ALPChartView = "ALPChartView",
237
- ViewChartToolBar = "ViewChartToolBar",
238
- Table = "Table",
239
260
  LRTableView = "LRTableView",
240
261
  LRChartView = "LRChartView",
241
- Actions = "Actions",
242
- ViewToolBarAction = "ViewToolBarAction",
243
- ChartToolBarAction = "ChartToolBarAction",
244
- ToolBarAction = "ToolBarAction",
245
- ObjectPageToolBarAction = "ObjectPageToolBarAction",
246
262
  MultiTableModeV4 = "MultiTableModeV4",
247
- AnnotationPathAsObject = "AnnotationPathAsObject",
248
- ALPTable = "ALPTable",
249
- ALPTableView = "ALPTableView"
263
+ ObjectPageChart = "ObjectPageChart",
264
+ ObjectPageCustomSectionFragment = "ObjectPageCustomSectionFragment",
265
+ ObjectPageFooter = "ObjectPageFooter",
266
+ ObjectPageFooterAction = "ObjectPageFooterAction",
267
+ ObjectPageFooterActions = "ObjectPageFooterActions",
268
+ ObjectPageHeader = "ObjectPageHeader",
269
+ ObjectPageHeaderSectionForm = "ObjectPageHeaderSectionForm",
270
+ ObjectPageHeaderSectionChart = "ObjectPageHeaderSectionChart",
271
+ ObjectPageHeaderSectionDataPoint = "ObjectPageHeaderSectionDataPoint",
272
+ ObjectPageHeaderSectionContact = "ObjectPageHeaderSectionContact",
273
+ ObjectPageHeaderSectionAddress = "ObjectPageHeaderSectionAddress",
274
+ ObjectPageLayout = "ObjectPageLayout",
275
+ ObjectPagePresentationVariant = "ObjectPagePresentationVariant",
276
+ ObjectPageSectionAddress = "ObjectPageSectionAddress",
277
+ ObjectPageSectionChart = "ObjectPageSectionChart",
278
+ ObjectPageSectionContact = "ObjectPageSectionContact",
279
+ ObjectPageSectionDataPoint = "ObjectPageSectionDataPoint",
280
+ ObjectPageSectionForm = "ObjectPageSectionForm",
281
+ ObjectPageSectionPresentationVariant = "ObjectPageSectionPresentationVariant",
282
+ ObjectPageSectionTableV4 = "ObjectPageSectionTableV4",
283
+ ObjectPageSubSections = "ObjectPageSubSections",
284
+ ObjectPageTable = "ObjectPageTable",
285
+ ObjectPageTableColumn = "ObjectPageTableColumn",
286
+ ObjectPageToolBar = "ObjectPageToolBar",
287
+ ObjectPageToolBarAction = "ObjectPageToolBarAction",
288
+ ObjectPageToolBarActions = "ObjectPageToolBarActions",
289
+ Position = "Position",
290
+ PositionOP = "PositionOP",
291
+ QuickVariant = "QuickVariant",
292
+ QuickVariantSelectionOP = "QuickVariantSelectionOP",
293
+ QuickVariantSelectionV4OP = "QuickVariantSelectionV4OP",
294
+ RelatedFacetKeys = "RelatedFacetKeys",
295
+ Sections = "Sections",
296
+ Table = "Table",
297
+ TableSPV = "TableSPV",
298
+ TableColumn = "TableColumn",
299
+ ToolBarAction = "ToolBarAction",
300
+ ToolBarLR = "ToolBar<LineItems>",
301
+ ToolBar = "ToolBar",
302
+ ViewTableColumn = "ViewTableColumn",
303
+ ViewCustomColumn = "ViewTableCustomColumn",
304
+ ViewChartToolBar = "ViewChartToolBar",
305
+ ViewToolBarAction = "ViewToolBarAction"
306
+ }
307
+ export declare enum PropertyName {
308
+ actions = "actions",
309
+ annotationPath = "annotationPath",
310
+ chart = "chart",
311
+ defaultPath = "defaultPath",
312
+ defaultTemplateAnnotationPath = "defaultTemplateAnnotationPath",
313
+ sections = "sections",
314
+ table = "table",
315
+ views = "views"
316
+ }
317
+ export declare enum SchemaTag {
318
+ annotationPath = "annotationPath",
319
+ annotationType = "annotationType",
320
+ artifactType = "artifactType",
321
+ controlType = "controlType",
322
+ dataType = "dataType",
323
+ fullyQualifiedName = "fullyQualifiedName",
324
+ hidden = "hidden",
325
+ isViewNode = "isViewNode",
326
+ key = "key",
327
+ propertyIndex = "propertyIndex"
250
328
  }
251
329
  export declare const METADATAPATH = "webapp/localService/metadata.xml";
252
330
  export declare const MANIFESTPATH = "webapp/manifest.json";
253
331
  export declare const VOCWITHSLASH = "/@com.sap.vocabularies";
254
332
  export declare const VOCWITHCOLONS = "::@com.sap.vocabularies";
255
333
  export declare const UIVOCABULARY = "com.sap.vocabularies.UI.v1";
334
+ export declare const UIVOCABULARYDOT = "com.sap.vocabularies.UI.v1.";
256
335
  export declare const QUICKVARPATH = "/quickVariantSelection";
257
336
  export declare const QUICKVARPATHX = "/quickVariantSelectionX";
258
337
  export declare const DATESETTINGSPATH = "/filterSettings/dateSettings";
@@ -1,10 +1,11 @@
1
- import type { FacetConfigs, FileData, FacetConfig, FacetSection, SchemaFilePath } from './types';
2
- import type { AnnotationTerm, CollectionFacet, ConverterOutput, DataFieldAbstractTypes, EntityType, PropertyAnnotations, PropertyPath, ReferenceFacet, ReferenceURLFacet } from '@sap-ux/vocabularies-types';
1
+ import type { Definition } from 'typescript-json-schema';
2
+ import type { ExtensionLogger } from '../../apiTypes';
3
+ import type { FacetConfigs, FileData, FacetConfig, FacetSection, SchemaFilePath, anyFacetType } from './types';
3
4
  import type { Manifest } from '../../specification/common';
5
+ import type { MetadataInstanceInterface } from './decoration/factory';
6
+ import type { ConverterOutput, DataFieldAbstractTypes, EntityType, PropertyAnnotations, PropertyPath } from '@sap-ux/vocabularies-types';
4
7
  import { FioriElementsVersion, PageType, PageTypeV4 } from '../../specification/common';
5
8
  import { SchemaType } from '../../specification/schemaAccess';
6
- import type { ExtensionLogger } from '../../apiTypes';
7
- import type { MetadataInstanceInterface } from './decoration/factory';
8
9
  export declare enum TemplateType {
9
10
  ListReportObjectPageV2 = "ListReportObjectPageV2",
10
11
  ListReportObjectPageV4 = "ListReportObjectPageV4",
@@ -54,7 +55,13 @@ export declare function getLabelForDataField(field: DataFieldAbstractTypes, enti
54
55
  * @param dataFieldAbstract - the given record of the line item annotation
55
56
  * @param entityType - the entity type as part of the AVT ConverterOutput
56
57
  */
57
- export declare function getDatafieldDescription(dataFieldAbstract: DataFieldAbstractTypes, entityType: EntityType): string;
58
+ export declare function getDataFieldDescription(dataFieldAbstract: DataFieldAbstractTypes, entityType: EntityType): string;
59
+ /**
60
+ * Prepare string for reference use in schema
61
+ * @param refInput string to be character checked and replaced
62
+ * @returns string with replaced characters
63
+ */
64
+ export declare function prepareRef(refInput: string): string;
58
65
  /**
59
66
  * Return the page type for a given V2 page in manifest
60
67
  * @param name - page component name
@@ -81,7 +88,7 @@ export declare function findAlias(namespace: string, oDataServiceAVT: ConverterO
81
88
  * @param {ExtensionLogger} logger - Logger class for logging messages
82
89
  * @returns {FacetSection} - object comprising the relevant facet information
83
90
  */
84
- export declare function getSectionFacet(facetDefinition: AnnotationTerm<CollectionFacet> | AnnotationTerm<ReferenceFacet> | AnnotationTerm<ReferenceURLFacet>, sourceEntityType: EntityType, oDataServiceAVT: ConverterOutput, logger?: ExtensionLogger, oDataVersion?: FioriElementsVersion, keyForRelatedFacetKeys?: boolean): FacetSection | undefined;
91
+ export declare function getSectionFacet(facetDefinition: anyFacetType, sourceEntityType: EntityType, oDataServiceAVT: ConverterOutput, logger?: ExtensionLogger, oDataVersion?: FioriElementsVersion, keyForRelatedFacetKeys?: boolean): FacetSection | undefined;
85
92
  /**
86
93
  * Finds the alias for a given namespace in the references' section of the converted service metadata.
87
94
  * An empty object is created if the path element does not exist yet.
@@ -144,20 +151,20 @@ export declare function getTemplateTypeFromManifest(manifest: Manifest, fioriEle
144
151
  * @param section - section in the app schema
145
152
  * @param facetKey - key of the facet
146
153
  */
147
- export declare function addSectionTitleAndDescription(facet: FacetConfig, section: object, facetKey: string): void;
154
+ export declare function addSectionTitleAndDescription(facet: FacetConfig, section: Definition, facetKey: string): void;
148
155
  /**
149
156
  * Adds target title or description to a section or header section in an app schema
150
157
  * @param facet - intermediate facet structure comprising annotation information
151
158
  * @param section - section in the app schema
152
159
  * @param facetKey - key of the facet
153
160
  */
154
- export declare function addTargetTitleAndSectionDescription(facet: FacetConfig, section: object, facetKey: string): void;
161
+ export declare function addTargetTitleAndSectionDescription(facet: FacetConfig, section: Definition, facetKey: string): void;
155
162
  /**
156
163
  * Creates a default object for a new section or subsection, and adds the ID as title if present.
157
164
  * @param facet Facet configuration, to be analyzed
158
165
  * @returns the new section object
159
166
  */
160
- export declare function createSectionWithoutProperties(facet: FacetConfig, facetKey: string): object;
167
+ export declare function createDefaultSection(appSchema: Definition, facet: FacetConfig, facetKey: string): Definition;
161
168
  /**
162
169
  * Retrieve page section data(so far id/key and label/description).
163
170
  * @param {EntityType} entityType The actual entityType
@@ -188,11 +195,10 @@ export declare const getSchemaFilePath: (schemaType: PageType | PageTypeV4 | Sch
188
195
  * @param appVersion - Fiori Elements version - V2 or V4.
189
196
  * @param pageType - Page type.
190
197
  * @param entitySet - Entity Set.
191
- * @param navigationProperty - Navigation property (optional).
192
198
  * @param viewId - Custom page's viewId (optional).
193
199
  * @returns {string} Generated page id
194
200
  */
195
- export declare function generatePageId(pageType: PageType | PageTypeV4, entitySet: string, navigationProperty?: string, viewId?: string): string;
201
+ export declare function generatePageId(pageType: PageType | PageTypeV4, entitySet: string, viewId?: string): string;
196
202
  export declare type NextDefinition = {
197
203
  configObject?: object;
198
204
  targetDefinition?: object;
@@ -209,7 +215,6 @@ export declare type NextDefinition = {
209
215
  * @param pageType - page type
210
216
  */
211
217
  export declare function getNextTargetDefinition(appSchema: object, title: string, currentConfigObject: object, propertyDefinition: object, key: string, factory: MetadataInstanceInterface, pageType: PageType | PageTypeV4): NextDefinition;
212
- export declare function prepareRef(refInput: string): string;
213
218
  /**
214
219
  * Custom array merge function called by deepmerge's merge function
215
220
  *
@@ -1,5 +1,7 @@
1
- /// <reference types="@sapui5/ts-types" />
1
+ /// <reference types="@sapui5/ts-types-esm" />
2
2
  import type { Action as ActionConfig } from '../../../../specification/v2';
3
+ import type { ButtonType } from 'sap/m/library';
4
+ import type { URI } from 'sap/ui/core/library';
3
5
  /**
4
6
  * Create stable ID for Intent Based Action button
5
7
  *
@@ -11,19 +13,19 @@ import type { Action as ActionConfig } from '../../../../specification/v2';
11
13
  export declare const buildIntentBasedActionId: (baseId: string, _idBreadcrumbs: string[], breadcrumbs: string[]) => string;
12
14
  export declare class Action implements ActionConfig {
13
15
  tooltip?: string;
14
- icon?: sap.ui.core.URI;
15
- activeIcon?: sap.ui.core.URI;
16
- type?: sap.m.ButtonType;
16
+ icon?: URI;
17
+ activeIcon?: URI;
18
+ type?: ButtonType;
17
19
  }
18
20
  export declare class ToolBarAction implements ActionConfig {
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
  export declare class FooterAction implements ActionConfig {
25
27
  tooltip?: string;
26
- icon?: sap.ui.core.URI;
27
- activeIcon?: sap.ui.core.URI;
28
- type?: sap.m.ButtonType;
28
+ icon?: URI;
29
+ activeIcon?: URI;
30
+ type?: ButtonType;
29
31
  }
@@ -1,16 +1,18 @@
1
- /// <reference types="@sapui5/ts-types" />
1
+ /// <reference types="@sapui5/ts-types-esm" />
2
2
  import type { FormAction as FormActionConfig } from '../../../../specification/v2';
3
+ import type { ButtonType } from 'sap/m/library';
4
+ import type { URI } from 'sap/ui/core/library';
3
5
  export declare class FormAction implements FormActionConfig {
4
6
  visible: boolean;
5
7
  tooltip?: string;
6
- icon?: sap.ui.core.URI;
7
- activeIcon?: sap.ui.core.URI;
8
- type?: sap.m.ButtonType;
8
+ icon?: URI;
9
+ activeIcon?: URI;
10
+ type?: ButtonType;
9
11
  }
10
12
  export declare class FieldForAction implements FormActionConfig {
11
13
  visible: boolean;
12
14
  tooltip?: string;
13
- icon?: sap.ui.core.URI;
14
- activeIcon?: sap.ui.core.URI;
15
- type?: sap.m.ButtonType;
15
+ icon?: URI;
16
+ activeIcon?: URI;
17
+ type?: ButtonType;
16
18
  }
@@ -1,9 +1,11 @@
1
- /// <reference types="@sapui5/ts-types" />
1
+ /// <reference types="@sapui5/ts-types-esm" />
2
2
  import type { ObjectPageFooterAction as FooterActionConfig } from '../../../../specification/v2';
3
+ import type { ButtonType } from 'sap/m/library';
4
+ import type { URI } from 'sap/ui/core/library';
3
5
  export declare class ObjectPageFooterAction implements FooterActionConfig {
4
6
  visible: boolean;
5
7
  tooltip?: string;
6
- icon?: sap.ui.core.URI;
7
- activeIcon?: sap.ui.core.URI;
8
- type?: sap.m.ButtonType;
8
+ icon?: URI;
9
+ activeIcon?: URI;
10
+ type?: ButtonType;
9
11
  }
@@ -1,9 +1,10 @@
1
- /// <reference types="@sapui5/ts-types" />
1
+ /// <reference types="@sapui5/ts-types-esm" />
2
2
  import type { ObjectPageHeader as ObjectPageHeaderConfig, GenericActions } from '../../../../specification/v2/controls/ObjectPageHeader';
3
+ import type AvatarShape from 'sap/m/AvatarShape';
3
4
  export declare class ObjectPageHeader<ACT = GenericActions> implements ObjectPageHeaderConfig<ACT> {
4
5
  showRelatedApps?: boolean;
5
6
  editableHeaderContent?: boolean;
6
7
  simpleHeaderFacets?: boolean;
7
- displayShape?: sap.m.AvatarShape;
8
+ displayShape?: AvatarShape;
8
9
  actions?: ACT;
9
10
  }
@@ -1,9 +1,11 @@
1
- /// <reference types="@sapui5/ts-types" />
1
+ /// <reference types="@sapui5/ts-types-esm" />
2
2
  import type { HeaderAction as HeaderActionConfig } from '../../../../specification/v2';
3
+ import type { ButtonType } from 'sap/m/library';
4
+ import type { URI } from 'sap/ui/core/library';
3
5
  export declare class HeaderAction implements HeaderActionConfig {
4
6
  visible: boolean;
5
7
  tooltip?: string;
6
- icon?: sap.ui.core.URI;
7
- activeIcon?: sap.ui.core.URI;
8
- type?: sap.m.ButtonType;
8
+ icon?: URI;
9
+ activeIcon?: URI;
10
+ type?: ButtonType;
9
11
  }
@@ -1,32 +1,44 @@
1
- import type { ObjectPageSectionFormV2 as ObjectPageSectionFormV2Config, ObjectPageSectionChartV2 as ObjectPageSectionChartV2Config, ObjectPageSectionTableV2 as ObjectPageSectionTableV2Config, ObjectPageSubSectionV2 as ObjectPageSubSectionV2Config } from '../../../../specification/v2/index';
1
+ import type { ObjectPageSectionFormV2 as ObjectPageSectionFormIF, ObjectPageSectionChartV2 as ObjectPageSectionChartIF, ObjectPageSectionTableV2 as ObjectPageSectionTableIF, ObjectPageSectionAddressV2 as ObjectPageSectionAddressIF, ObjectPageSectionContactV2 as ObjectPageSectionContactIF, ObjectPageSubSectionV2 as ObjectPageSubSectionIF } from '../../../../specification/v2/index';
2
2
  import type { ControlTypeFunction } from '../../../common';
3
3
  export declare const FacetTitlePrefix = "Facet ID: ";
4
- export declare const getTableSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, facetId: string) => string;
5
- export declare const getFormSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, facetId: string) => string;
6
- export declare const getChartSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, facetID: string) => string;
7
- export declare const getSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, facetId: string) => string;
8
- export declare const getSubSectionControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, facetId: string) => string;
9
- export declare class ObjectPageSectionV2 implements ObjectPageSubSectionV2Config {
4
+ export declare const getTableSectionControlId: (baseId: string, _idBreadcrumbs: string[], breadcrumbs: string[], _controlType: ControlTypeFunction, facetId: string) => string;
5
+ export declare const getFormSectionControlId: (baseId: string, _idBreadcrumbs: string[], breadcrumbs: string[], _controlType: ControlTypeFunction, facetId: string) => string;
6
+ export declare const getChartSectionControlId: (baseId: string, _idBreadcrumbs: string[], breadcrumbs: string[], _controlType: ControlTypeFunction, facetID: string) => string;
7
+ export declare const getSectionControlId: (baseId: string, _idBreadcrumbs: string[], breadcrumbs: string[], _controlType: ControlTypeFunction, facetId: string) => string;
8
+ export declare const getSubSectionControlId: (baseId: string, _idBreadcrumbs: string[], breadcrumbs: string[], _controlType: ControlTypeFunction, facetId: string) => string;
9
+ export declare class ObjectPageSectionV2 implements ObjectPageSubSectionIF {
10
10
  visible?: boolean;
11
11
  }
12
- export declare class ObjectPageSectionFormV2 implements ObjectPageSectionFormV2Config {
12
+ export declare class ObjectPageSectionFormV2 implements ObjectPageSectionFormIF {
13
13
  visible?: boolean;
14
14
  }
15
- export declare class ObjectPageSectionChartV2 implements ObjectPageSectionChartV2Config {
15
+ export declare class ObjectPageSectionChartV2 implements ObjectPageSectionChartIF {
16
16
  visible?: boolean;
17
17
  }
18
- export declare class ObjectPageSectionTableV2 implements ObjectPageSectionTableV2Config {
18
+ export declare class ObjectPageSectionTableV2 implements ObjectPageSectionTableIF {
19
19
  visible?: boolean;
20
20
  }
21
- export declare class ObjectPageSubSectionV2 implements ObjectPageSubSectionV2Config {
21
+ export declare class ObjectPageSectionAddressV2 implements ObjectPageSectionAddressIF {
22
22
  visible?: boolean;
23
23
  }
24
- export declare class ObjectPageSubSectionFormV2 implements ObjectPageSubSectionV2Config {
24
+ export declare class ObjectPageSectionContactV2 implements ObjectPageSectionContactIF {
25
25
  visible?: boolean;
26
26
  }
27
- export declare class ObjectPageSubSectionChartV2 implements ObjectPageSubSectionV2Config {
27
+ export declare class ObjectPageSubSectionV2 implements ObjectPageSubSectionIF {
28
28
  visible?: boolean;
29
29
  }
30
- export declare class ObjectPageSubSectionTableV2 implements ObjectPageSubSectionV2Config {
30
+ export declare class ObjectPageSubSectionFormV2 implements ObjectPageSubSectionIF {
31
+ visible?: boolean;
32
+ }
33
+ export declare class ObjectPageSubSectionChartV2 implements ObjectPageSubSectionIF {
34
+ visible?: boolean;
35
+ }
36
+ export declare class ObjectPageSubSectionAddressV2 implements ObjectPageSubSectionIF {
37
+ visible?: boolean;
38
+ }
39
+ export declare class ObjectPageSubSectionContactV2 implements ObjectPageSubSectionIF {
40
+ visible?: boolean;
41
+ }
42
+ export declare class ObjectPageSubSectionTableV2 implements ObjectPageSubSectionIF {
31
43
  visible?: boolean;
32
44
  }
@@ -1,7 +1,9 @@
1
- /// <reference types="@sapui5/ts-types" />
1
+ /// <reference types="@sapui5/ts-types-esm" />
2
2
  import type { GenericColumns, CreateMode, TableTypeV2, Fields4Dialog, QuickVariant, FieldPathOP as FieldPathOPInterface, CreationFieldKeys, ObjectPageToolBar } from '../../../../specification/v2';
3
3
  import type { ObjectPageCommonTableSettings as ObjectPageCommonTableConfig, ObjectPageResponsiveTable as ObjectPageResponsiveTableConfig, ObjectPageAnalyticalTable as ObjectPageAnalyticalTableConfig, ObjectPageGridTable as ObjectPageGridTableConfig, ObjectPageTreeTable as ObjectPageTreeTableConfig } from '../../../../specification/v2/controls/ObjectPageTable';
4
4
  import type { DeprecatedProperties } from '../../../common';
5
+ import type { PopinLayout } from 'sap/m/library';
6
+ import type { smarttable } from 'sap/ui/comp/library';
5
7
  export declare class QuickVariantSelectionOP {
6
8
  showCounts?: boolean;
7
9
  variants: {
@@ -23,7 +25,7 @@ export declare class ObjectPageCommonTableSettings<COLS = GenericColumns> implem
23
25
  selectionLimit?: number;
24
26
  quickVariantSelection?: QuickVariantSelectionOP;
25
27
  useExportToExcel?: boolean;
26
- exportType?: sap.ui.comp.smarttable.ExportType;
28
+ exportType?: smarttable.ExportType;
27
29
  createMode?: CreateMode;
28
30
  disableDefaultInlineCreateSort?: boolean;
29
31
  variantManagement?: boolean;
@@ -32,7 +34,7 @@ export declare class ObjectPageCommonTableSettings<COLS = GenericColumns> implem
32
34
  export declare class ObjectPageResponsiveTable extends ObjectPageCommonTableSettings implements ObjectPageResponsiveTableConfig {
33
35
  type?: TableTypeV2.ResponsiveTable;
34
36
  includeItemInSelection?: boolean;
35
- popinLayout?: sap.m.PopinLayout;
37
+ popinLayout?: PopinLayout;
36
38
  inlineDelete?: boolean;
37
39
  growingThreshold?: number;
38
40
  }
@@ -1,9 +1,11 @@
1
- /// <reference types="@sapui5/ts-types" />
1
+ /// <reference types="@sapui5/ts-types-esm" />
2
2
  import type { ObjectPageToolBarAction as ToolBarActionConfig } from '../../../../specification/v2';
3
+ import type { ButtonType } from 'sap/m/library';
4
+ import type { URI } from 'sap/ui/core/library';
3
5
  export declare class ObjectPageToolBarAction implements ToolBarActionConfig {
4
6
  visible: boolean;
5
7
  tooltip?: string;
6
- icon?: sap.ui.core.URI;
7
- activeIcon?: sap.ui.core.URI;
8
- type?: sap.m.ButtonType;
8
+ icon?: URI;
9
+ activeIcon?: URI;
10
+ type?: ButtonType;
9
11
  }