@sap/ux-specification 1.96.6 → 1.96.9

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 (157) hide show
  1. package/CHANGELOG.md +44 -1
  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/ApplicationV2.json +14 -14
  12. package/dist/schemas/v4/ApplicationV4.json +9 -5
  13. package/dist/schemas/v4/ListReportConfig.json +609 -209
  14. package/dist/specification/v2/index-min.js +1 -1
  15. package/dist/specification/v4/index-min.js +1 -1
  16. package/dist/src/api.d.ts +3 -3
  17. package/dist/src/apiTypes.d.ts +16 -20
  18. package/dist/src/extensionLogger.d.ts +1 -1
  19. package/dist/src/project.d.ts +1 -1
  20. package/dist/src/specification/common/Application.d.ts +24 -4
  21. package/dist/src/specification/common/page.d.ts +1 -1
  22. package/dist/src/specification/common/webapp/manifest/Manifest.d.ts +6 -6
  23. package/dist/src/specification/common/webapp/manifest/sapUi5.d.ts +1 -1
  24. package/dist/src/specification/schemaAccess.d.ts +1 -1
  25. package/dist/src/specification/v2/ApplicationV2.d.ts +3 -17
  26. package/dist/src/specification/v2/controls/Facets.d.ts +1 -1
  27. package/dist/src/specification/v2/controls/Footer.d.ts +2 -2
  28. package/dist/src/specification/v2/controls/ObjectPageForm.d.ts +1 -1
  29. package/dist/src/specification/v2/controls/ObjectPageHeader.d.ts +1 -1
  30. package/dist/src/specification/v2/controls/ObjectPageSection.d.ts +2 -2
  31. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +2 -2
  32. package/dist/src/specification/v2/controls/ObjectPageToolBar.d.ts +1 -1
  33. package/dist/src/specification/v2/controls/Table.d.ts +3 -3
  34. package/dist/src/specification/v2/controls/ToolBar.d.ts +1 -1
  35. package/dist/src/specification/v2/page.d.ts +1 -1
  36. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.d.ts +4 -4
  37. package/dist/src/specification/v2/pages/ListReportConfig.d.ts +2 -2
  38. package/dist/src/specification/v2/pages/ObjectPageConfig.d.ts +3 -3
  39. package/dist/src/specification/v2/pages/OverviewPageConfig.d.ts +3 -3
  40. package/dist/src/specification/v2/webapp/manifest/sapUi5.d.ts +2 -2
  41. package/dist/src/specification/v2/webapp/manifest/sapUiPageV2.d.ts +2 -2
  42. package/dist/src/specification/v4/ApplicationV4.d.ts +4 -14
  43. package/dist/src/specification/v4/controls/ObjectPageHeader.d.ts +1 -1
  44. package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +2 -2
  45. package/dist/src/specification/v4/controls/ObjectPageTable.d.ts +3 -3
  46. package/dist/src/specification/v4/controls/ObjectPageToolBar.d.ts +1 -1
  47. package/dist/src/specification/v4/controls/Table.d.ts +162 -25
  48. package/dist/src/specification/v4/controls/ToolBar.d.ts +26 -1
  49. package/dist/src/specification/v4/page.d.ts +2 -2
  50. package/dist/src/specification/v4/pages/ListReportConfig.d.ts +17 -3
  51. package/dist/src/specification/v4/pages/ObjectPageConfig.d.ts +2 -2
  52. package/dist/src/specification/v4/pages/index.d.ts +0 -1
  53. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.d.ts +77 -0
  54. package/dist/src/specification/v4/webapp/manifest/sapUi5.d.ts +12 -3
  55. package/dist/src/specification/v4/webapp/manifest/sapUiPageV4.d.ts +20 -1
  56. package/dist/src/sync/common/appProvider.d.ts +6 -5
  57. package/dist/src/sync/common/decoration/control.d.ts +1 -1
  58. package/dist/src/sync/common/decoration/decorators.d.ts +1 -1
  59. package/dist/src/sync/common/decoration/factory.d.ts +3 -3
  60. package/dist/src/sync/common/decoration/flex.d.ts +3 -3
  61. package/dist/src/sync/common/flexUtils.d.ts +4 -4
  62. package/dist/src/sync/common/generate/objectPage.d.ts +4 -3
  63. package/dist/src/sync/common/generate/utils.d.ts +11 -9
  64. package/dist/src/sync/common/import/utils.d.ts +4 -3
  65. package/dist/src/sync/common/importProject.d.ts +4 -4
  66. package/dist/src/sync/common/types.d.ts +28 -6
  67. package/dist/src/sync/common/utils.d.ts +11 -8
  68. package/dist/src/sync/i18n.d.ts +1 -1
  69. package/dist/src/sync/v2/application.d.ts +2 -2
  70. package/dist/src/sync/v2/export/controls/Action.d.ts +1 -1
  71. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts +1 -1
  72. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +1 -1
  73. package/dist/src/sync/v2/export/controls/Card.d.ts +1 -1
  74. package/dist/src/sync/v2/export/controls/Field.d.ts +1 -1
  75. package/dist/src/sync/v2/export/controls/FilterBar.d.ts +2 -1
  76. package/dist/src/sync/v2/export/controls/FormAction.d.ts +1 -1
  77. package/dist/src/sync/v2/export/controls/Fragment.d.ts +5 -11
  78. package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts +1 -1
  79. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts +3 -3
  80. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +1 -1
  81. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +1 -1
  82. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +1 -1
  83. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts +1 -1
  84. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +2 -2
  85. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +3 -3
  86. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +1 -1
  87. package/dist/src/sync/v2/export/controls/Table.d.ts +3 -2
  88. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +2 -2
  89. package/dist/src/sync/v2/export/controls/ToolBar.d.ts +1 -1
  90. package/dist/src/sync/v2/export/export.d.ts +3 -3
  91. package/dist/src/sync/v2/export/exportPage.d.ts +2 -2
  92. package/dist/src/sync/v2/export/factory.d.ts +2 -1
  93. package/dist/src/sync/v2/export/manifest.d.ts +1 -1
  94. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +4 -4
  95. package/dist/src/sync/v2/export/pages/ListReport.d.ts +2 -2
  96. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts +3 -3
  97. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +2 -2
  98. package/dist/src/sync/v2/export/view-controller-generator.d.ts +2 -2
  99. package/dist/src/sync/v2/generate/analyticalListReport.d.ts +1 -1
  100. package/dist/src/sync/v2/generate/generate.d.ts +2 -2
  101. package/dist/src/sync/v2/generate/listReport.d.ts +7 -4
  102. package/dist/src/sync/v2/generate/objectPage.d.ts +1 -1
  103. package/dist/src/sync/v2/generate/overviewPage.d.ts +1 -1
  104. package/dist/src/sync/v2/generate/utils.d.ts +5 -5
  105. package/dist/src/sync/v2/import/app/appProvider.d.ts +4 -4
  106. package/dist/src/sync/v2/import/app/ovpProvider.d.ts +3 -3
  107. package/dist/src/sync/v2/import/common/index.d.ts +6 -5
  108. package/dist/src/sync/v2/import/controls/table.d.ts +1 -1
  109. package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts +2 -2
  110. package/dist/src/sync/v2/import/pages/listReport.d.ts +2 -2
  111. package/dist/src/sync/v2/import/pages/objectPage.d.ts +1 -1
  112. package/dist/src/sync/v2/import/pages/overviewPage.d.ts +2 -2
  113. package/dist/src/sync/v2/import/utils.d.ts +3 -2
  114. package/dist/src/sync/v2/types.d.ts +7 -7
  115. package/dist/src/sync/v4/application.d.ts +8 -4
  116. package/dist/src/sync/v4/export/controls/FilterBar.d.ts +1 -1
  117. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +2 -1
  118. package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts +1 -1
  119. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.d.ts +1 -1
  120. package/dist/src/sync/v4/export/controls/ObjectPageLayout.d.ts +1 -1
  121. package/dist/src/sync/v4/export/controls/ObjectPageTable.d.ts +1 -1
  122. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +1 -1
  123. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +1 -1
  124. package/dist/src/sync/v4/export/controls/Table.d.ts +125 -9
  125. package/dist/src/sync/v4/export/controls/TableColumn.d.ts +39 -1
  126. package/dist/src/sync/v4/export/controls/ToolBar.d.ts +1 -1
  127. package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts +4 -1
  128. package/dist/src/sync/v4/export/export.d.ts +2 -2
  129. package/dist/src/sync/v4/export/exportCustomColumn.d.ts +2 -2
  130. package/dist/src/sync/v4/export/factory.d.ts +2 -1
  131. package/dist/src/sync/v4/export/flexibleColumnLayout.d.ts +1 -1
  132. package/dist/src/sync/v4/export/manifest.d.ts +1 -1
  133. package/dist/src/sync/v4/export/pages/ListReport.d.ts +8 -3
  134. package/dist/src/sync/v4/export/pages/ObjectPage.d.ts +2 -2
  135. package/dist/src/sync/v4/export/pages/index.d.ts +0 -1
  136. package/dist/src/sync/v4/export/types.d.ts +7 -5
  137. package/dist/src/sync/v4/export/utils.d.ts +1 -1
  138. package/dist/src/sync/v4/generate/generate.d.ts +5 -4
  139. package/dist/src/sync/v4/generate/listReport.d.ts +2 -4
  140. package/dist/src/sync/v4/generate/objectPage.d.ts +1 -1
  141. package/dist/src/sync/v4/import/app/appProvider.d.ts +6 -5
  142. package/dist/src/sync/v4/import/fragment.d.ts +2 -2
  143. package/dist/src/sync/v4/import/index.d.ts +0 -1
  144. package/dist/src/sync/v4/import/pages/listReport.d.ts +8 -7
  145. package/dist/src/sync/v4/import/pages/objectPage.d.ts +2 -2
  146. package/dist/src/sync/v4/import/utils.d.ts +2 -2
  147. package/dist/src/sync/v4/types.d.ts +2 -2
  148. package/dist/src/sync/v4/utils/utils.d.ts +14 -5
  149. package/dist/test/test-data/flexChange/v2/stta.prod.man/index.d.ts +1 -1
  150. package/dist/test/test-projects/index.d.ts +1 -1
  151. package/dist/test/test-utils/utils.d.ts +5 -4
  152. package/package.json +12 -9
  153. package/dist/documentation/v4/v4-AnalyticalListPage.html +0 -49
  154. package/dist/schemas/v4/AnalyticalListPageConfig.json +0 -481
  155. package/dist/src/specification/v4/pages/AnalyticalListPageConfig.d.ts +0 -13
  156. package/dist/src/sync/v4/export/pages/AnalyticalListPage.d.ts +0 -8
  157. package/dist/src/sync/v4/import/pages/analyticalListPage.d.ts +0 -11
@@ -1,5 +1,5 @@
1
- import { TableColumn, TableColumnAction, TableCustomColumn } from './../webapp/manifest/ManifestSettings';
2
- import { ToolBar } from './ToolBar';
1
+ import type { TableColumn, TableColumnAction, TableCustomColumn, ViewTableColumn, ViewTableColumnAction, ViewTableCustomColumn } from './../webapp/manifest/ManifestSettings';
2
+ import type { ToolBar, ViewChartToolBar } from './ToolBar';
3
3
  export declare enum SelectionMode {
4
4
  Multi = "Multi",
5
5
  None = "None",
@@ -21,6 +21,11 @@ export declare enum InitialLoadType {
21
21
  Enabled = "Enabled",
22
22
  Auto = "Auto"
23
23
  }
24
+ export declare enum DefaultPathType {
25
+ Primary = "primary",
26
+ Secondary = "secondary",
27
+ Both = "both"
28
+ }
24
29
  export interface TableCreationMode {
25
30
  /**
26
31
  * The name property of TableCreationMode defines the creation mode; possible values are:
@@ -35,6 +40,20 @@ export interface TableCreationMode {
35
40
  */
36
41
  createAtEnd?: boolean;
37
42
  }
43
+ export interface ViewTableCreationMode {
44
+ /**
45
+ * The name property of TableCreationMode defines the creation mode; possible values are:
46
+ * - NewPage: The create action leads to a new page.
47
+ * - Inline: The create action leads to a new row at the table.
48
+ * - CreationRow: No create button will be rendered, an empty row is directly given.
49
+ * The default is "NewPage".
50
+ */
51
+ name?: TableCreationModeType;
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 direcly after the currently selected table. The default value is "true"
54
+ */
55
+ createAtEnd?: boolean;
56
+ }
38
57
  export interface PersonalizationType {
39
58
  /**
40
59
  * Defines whether the user can add and remove columns to a given table.
@@ -49,6 +68,20 @@ export interface PersonalizationType {
49
68
  */
50
69
  filter?: boolean;
51
70
  }
71
+ export interface ViewPersonalizationType {
72
+ /**
73
+ * Defines whether the user can add and remove columns to a given table.
74
+ */
75
+ column?: boolean;
76
+ /**
77
+ * Defines whether the user can sort a given table.
78
+ */
79
+ sort?: boolean;
80
+ /**
81
+ * Defines whether the user can filter data of a given table.
82
+ */
83
+ filter?: boolean;
84
+ }
52
85
  export interface AnnotationPathAsObject {
53
86
  annotationPath: string;
54
87
  }
@@ -71,34 +104,17 @@ export interface QuickVariantSelectionV4 {
71
104
  */
72
105
  showCounts?: boolean;
73
106
  }
74
- export interface MultiTableModeV4 {
75
- /**
76
- * List of annotation paths referring to SelectionVariant annotations
77
- */
78
- paths: AnnotationPathWithKey[];
79
- /**
80
- * You can show the counts of entries of each view. To do so, add the showCounts option and set it to true.
81
- */
82
- showCounts?: boolean;
83
- }
84
107
  export interface GenericColumns {
85
108
  [key: string]: TableColumn | TableColumnAction | TableCustomColumn;
86
109
  }
87
- export interface TableSettings<COLS = GenericColumns> {
110
+ export interface ViewColumns {
111
+ [key: string]: ViewTableColumn | ViewTableColumnAction | ViewTableCustomColumn;
112
+ }
113
+ export interface TableSettings {
88
114
  /**
89
115
  * Use type to define the table type. Note: Grid tables, analytical tables, and tree tables cannot be rendered on smartphones. Instead, responsive tables always show on smartphones.
90
116
  */
91
117
  type?: TableTypeV4;
92
- /**
93
- * Defines the page behavior when a new record is created.
94
- */
95
- creationMode?: TableCreationMode;
96
- /**
97
- * Defines the personalization mode, currently only effective if variant management on page is either set to Page or Control.
98
- * By default all table settings are enabled. You can change this for the different parts of the table by setting the properties "Column", "Sort" and "Filter" accordingly.
99
- * Omitting a property is treated as false, this allows apps to avoid getting new features like grouping in upcoming releases.
100
- */
101
- personalization?: PersonalizationType;
102
118
  /**
103
119
  * Applications can influence whether the table rows are selectable or not, and whether it allows for single selection or multiple selection. It can take the following values:
104
120
  * - "Auto": This is the default value. In this mode, Fiori Elements first checks if there are any custom actions or IBN buttons in the table toolbar that require a context. If no such buttons are found, then no table selection is allowed in display mode. In edit mode too a selection is not allowed unless there is a Delete button in the table toolbar in which case multiple row selection will be allowed.
@@ -128,7 +144,120 @@ export interface TableSettings<COLS = GenericColumns> {
128
144
  * You can set the content density to condensed for ui.table on the list report and object page applications.
129
145
  */
130
146
  condensedTableLayout?: boolean;
131
- columns?: COLS;
147
+ }
148
+ /**
149
+ * Views
150
+ * @isViewNode true
151
+ */
152
+ export interface MultiTableModeV4 {
153
+ /**
154
+ * List of annotation paths
155
+ */
156
+ [key: string]: LRTableView | LRChartView | boolean;
157
+ /**
158
+ * You can show the counts of entries of each view. To do so, add the showCounts option and set it to true.
159
+ */
160
+ showCounts?: boolean;
161
+ }
162
+ /**
163
+ * Chart View
164
+ * @isViewNode true
165
+ */
166
+ export interface ALPChartView {
167
+ /**
168
+ * The primary annotation path can be either UI.Chart, UI.PresentationVariant, or UI.SelectionPresentationVariant.
169
+ */
170
+ annotationPath: string;
171
+ /**
172
+ * Chart Toolbar
173
+ * @isViewNode true
174
+ */
175
+ toolBar?: ViewChartToolBar;
176
+ }
177
+ /**
178
+ * Chart View
179
+ * @isViewNode true
180
+ */
181
+ export interface LRChartView {
182
+ /**
183
+ * To use charts in multiple table mode, define a UI.Chart annotation, including a qualifier.
184
+ * Reference the UI.Chart annotation in your SelectionPresentationVariant or PresentationVariant for your view.
185
+ */
186
+ annotationPath: string;
187
+ /**
188
+ * Each chart can be based on a different entitySet.
189
+ */
190
+ entitySet?: string;
191
+ /**
192
+ * Chart Toolbar
193
+ * @isViewNode true
194
+ */
195
+ toolBar?: ViewChartToolBar;
196
+ }
197
+ /**
198
+ * Table View
199
+ * @isViewNode true
200
+ */
201
+ export interface ALPTableView extends TableSettings {
202
+ /**
203
+ * The secondary annotation path can be either UI.LineItem, UI.PresentationVariant, or UI.SelectionPresentationVariant.
204
+ */
205
+ annotationPath: string;
206
+ /**
207
+ * initialLoad defines whether or not the data in the table is automatically loaded.
208
+ * - Disabled - Data is never loaded when opening the app without an app state.
209
+ * - Enabled - Data is always loaded when opening the app.
210
+ * - Auto - Data is only loaded, if initial/preset filters are available (e.g. defined by "SelectionVariant" definition, URL parameters or user defaults).
211
+ */
212
+ initialLoad?: InitialLoadType;
213
+ /**
214
+ * Defines the personalization mode, currently only effective if variant management on page is either set to Page or Control.
215
+ * By default all table settings are enabled. You can change this for the different parts of the table by setting the properties "Column", "Sort" and "Filter" accordingly.
216
+ * Omitting a property is treated as false, this allows apps to avoid getting new features like grouping in upcoming releases.
217
+ */
218
+ personalization?: ViewPersonalizationType;
219
+ /**
220
+ * Defines the page behavior when a new record is created.
221
+ */
222
+ creationMode?: ViewTableCreationMode;
223
+ /**
224
+ * Table Toolbar
225
+ */
226
+ toolBar?: ToolBar;
227
+ columns?: ViewColumns;
228
+ }
229
+ /**
230
+ * Table View
231
+ * @isViewNode true
232
+ */
233
+ export interface LRTableView extends TableSettings {
234
+ /**
235
+ * The annotation path can be either UI.LineItem, UI.PresentationVariant, or UI.SelectionPresentationVariant.
236
+ */
237
+ annotationPath: string;
238
+ /**
239
+ * Each table can be based on a different entitySet.
240
+ */
241
+ entitySet?: string;
242
+ /**
243
+ * The tab keeps the default LineItem ID (without the key), so the variant is applied to it.
244
+ */
245
+ keepPreviousPersonalization?: boolean;
246
+ /**
247
+ * Defines the personalization mode, currently only effective if variant management on page is either set to Page or Control.
248
+ * By default all table settings are enabled. You can change this for the different parts of the table by setting the properties "Column", "Sort" and "Filter" accordingly.
249
+ * Omitting a property is treated as false, this allows apps to avoid getting new features like grouping in upcoming releases.
250
+ */
251
+ personalization?: ViewPersonalizationType;
252
+ /**
253
+ * Defines the page behavior when a new record is created.
254
+ */
255
+ creationMode?: ViewTableCreationMode;
256
+ /**
257
+ * Table Toolbar
258
+ */
259
+ toolBar?: ToolBar;
260
+ columns?: ViewColumns;
132
261
  }
133
262
  /**
134
263
  * Table
@@ -143,11 +272,19 @@ export interface Table extends TableSettings {
143
272
  */
144
273
  initialLoad?: InitialLoadType;
145
274
  /**
146
- * With the views property you can switch on the multiple view feature. Contrary to quickVariantSelection, each view will be rendered in a different instance of table). It links to SelectionVariant (filters) or SelectionPresentationVariant (filters and sorters) you must have added to your annotations beforehand.
275
+ * Defines the page behavior when a new record is created.
276
+ */
277
+ creationMode?: TableCreationMode;
278
+ /**
279
+ * Defines the personalization mode, currently only effective if variant management on page is either set to Page or Control.
280
+ * By default all table settings are enabled. You can change this for the different parts of the table by setting the properties "Column", "Sort" and "Filter" accordingly.
281
+ * Omitting a property is treated as false, this allows apps to avoid getting new features like grouping in upcoming releases.
147
282
  */
283
+ personalization?: PersonalizationType;
148
284
  views?: MultiTableModeV4;
149
285
  /**
150
286
  * Tool Bar
151
287
  */
152
288
  toolBar?: ToolBar;
289
+ columns?: GenericColumns;
153
290
  }
@@ -12,6 +12,17 @@ export interface ToolBarAction {
12
12
  */
13
13
  enableOnSelect?: SelectType;
14
14
  }
15
+ /**
16
+ * Action
17
+ * @isViewNode true
18
+ */
19
+ export interface ViewToolBarAction {
20
+ /**
21
+ * Enables single selection for a bound action
22
+ */
23
+ enableOnSelect?: SelectType;
24
+ }
25
+ export declare type ChartToolBarAction = {};
15
26
  /**
16
27
  * Actions
17
28
  * @isViewNode true
@@ -20,9 +31,23 @@ export interface Actions {
20
31
  [key: string]: ToolBarAction;
21
32
  }
22
33
  /**
23
- * Toolbar
34
+ * Actions
35
+ * @isViewNode true
36
+ */
37
+ export interface ViewActions {
38
+ [key: string]: ViewToolBarAction | ChartToolBarAction;
39
+ }
40
+ /**
41
+ * Table Toolbar
24
42
  * @isViewNode true
25
43
  */
26
44
  export interface ToolBar {
27
45
  actions: Actions;
28
46
  }
47
+ /**
48
+ * Chart Toolbar
49
+ * @isViewNode true
50
+ */
51
+ export interface ViewChartToolBar {
52
+ actions: ViewActions;
53
+ }
@@ -1,5 +1,5 @@
1
- import { PagesBase, PageBase, PageTypeV4, SapUiGenericAppPageSettings } from '../common';
2
- import { FlexibleColumnLayoutAggregations } from '.';
1
+ import type { PagesBase, PageBase, PageTypeV4, SapUiGenericAppPageSettings } from '../common';
2
+ import type { FlexibleColumnLayoutAggregations } from '.';
3
3
  export interface Pages extends PagesBase {
4
4
  [key: string]: Page;
5
5
  }
@@ -1,17 +1,31 @@
1
- import { Table, FilterBar } from '../controls';
2
- import { PageConfig } from '../../common/page';
1
+ import type { Table, FilterBar, ALPTableView, ALPChartView, DefaultPathType } from '../controls';
2
+ import type { PageConfig } from '../../common/page';
3
3
  export declare enum VariantManagementTypeListReport {
4
4
  None = "None",
5
5
  Control = "Control",
6
6
  Page = "Page"
7
7
  }
8
8
  export interface ListReportConfig extends PageConfig {
9
- table?: Table;
10
9
  /**
11
10
  * variantManagement defines how the variant management of page personalizations is controlled.
12
11
  * - None - No variant management by default.
13
12
  * - Control - Individual personalizations for each control.
14
13
  */
15
14
  variantManagement?: VariantManagementTypeListReport;
15
+ /**
16
+ * Filter bar
17
+ */
16
18
  filterBar?: FilterBar;
19
+ /**
20
+ * Chart
21
+ */
22
+ chart?: ALPChartView;
23
+ /**
24
+ * Table
25
+ */
26
+ table?: Table | ALPTableView;
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.
29
+ */
30
+ defaultPath?: DefaultPathType;
17
31
  }
@@ -1,5 +1,5 @@
1
- import { PageConfig } from '../../common/page';
2
- import { ObjectPageLayout, ObjectPageHeader, ObjectPageFooter, GenericSections, CustomSections } from '../controls';
1
+ import type { PageConfig } from '../../common/page';
2
+ import type { ObjectPageLayout, ObjectPageHeader, ObjectPageFooter, GenericSections, CustomSections } from '../controls';
3
3
  export declare enum VariantManagementTypeObjectPage {
4
4
  None = "None",
5
5
  Control = "Control"
@@ -1,3 +1,2 @@
1
1
  export * from './ObjectPageConfig';
2
2
  export * from './ListReportConfig';
3
- export * from './AnalyticalListPageConfig';
@@ -13,6 +13,16 @@ export interface Position {
13
13
  */
14
14
  placement: Placement;
15
15
  }
16
+ export interface ViewPosition {
17
+ /**
18
+ * The key of another column to be used as placement anchor.
19
+ */
20
+ anchor?: string;
21
+ /**
22
+ * Define the placement, either before or after the anchor column.
23
+ */
24
+ placement: Placement;
25
+ }
16
26
  export declare type Positionable = {
17
27
  /**
18
28
  * Defines the position of the column relative to other columns.
@@ -67,6 +77,24 @@ export interface TableColumn {
67
77
  */
68
78
  availability?: Availability;
69
79
  }
80
+ /**
81
+ * Table Column
82
+ * @isViewNode true
83
+ */
84
+ export interface ViewTableColumn {
85
+ /**
86
+ * A string type that represents CSS size values.
87
+ * Refer to https://openui5.hana.ondemand.com/api/sap.ui.core.CSSSize.
88
+ */
89
+ width?: string;
90
+ /**
91
+ * Defines where the column should be shown.
92
+ * Default: it will be shown by default in the table.
93
+ * Adaptation: it will initially not shown in the table but be available via end user adaptation.
94
+ * Hidden: the column is neither available in the table nor in adaptation.
95
+ */
96
+ availability?: Availability;
97
+ }
70
98
  /**
71
99
  * Table Column
72
100
  * @isViewNode true
@@ -95,6 +123,16 @@ export interface TableColumnAction extends TableColumn {
95
123
  */
96
124
  afterExecution?: ActionAfterExecutionConfiguration;
97
125
  }
126
+ /**
127
+ * Inline Action
128
+ * @isViewNode true
129
+ */
130
+ export interface ViewTableColumnAction extends ViewTableColumn {
131
+ /**
132
+ * Settings that are only relevant for actions (associated with a UI.DataFieldForAction annotation)
133
+ */
134
+ afterExecution?: ActionAfterExecutionConfiguration;
135
+ }
98
136
  export declare type ColumnPropertiesType = string[];
99
137
  /**
100
138
  * Inline Action for Object Page
@@ -145,3 +183,42 @@ export interface TableCustomColumn {
145
183
  */
146
184
  properties?: ColumnPropertiesType;
147
185
  }
186
+ /**
187
+ * Custom Column
188
+ * @isViewNode true
189
+ */
190
+ export interface ViewTableCustomColumn {
191
+ /**
192
+ * Defines the position of the column relative to other columns.
193
+ */
194
+ position?: ViewPosition;
195
+ /**
196
+ * The header is shown on the table as header, as well as in the add/remove dialog.
197
+ * @i18nClassification COL: Custom column header text
198
+ */
199
+ header: string;
200
+ /**
201
+ * A string type that represents CSS size values.
202
+ * Refer to https://openui5.hana.ondemand.com/api/sap.ui.core.CSSSize.
203
+ */
204
+ width?: string;
205
+ /**
206
+ * Relevant for extension columns; allows the definition of a target fragment.
207
+ */
208
+ template: string;
209
+ /**
210
+ * Aligns the header as well as the content horizontally.
211
+ */
212
+ horizontalAlign?: HorizontalAlign;
213
+ /**
214
+ * Defines where the column should be shown.
215
+ * - Default: it will be shown by default in the table.
216
+ * - Adaptation: it will initially not shown in the table but be available via end user adaptation
217
+ * - Hidden: the column is neither available in the table nor in adaptation
218
+ */
219
+ availability?: Availability;
220
+ /**
221
+ * If provided and sorting is enabled for the table the custom column header can be clicked. This will lead to a list of properties (or one) that can be sorted by, they are displayed as the labels of the properties, corresponding to their definition in the annotations.
222
+ */
223
+ properties?: ColumnPropertiesType;
224
+ }
@@ -1,6 +1,6 @@
1
- import { SapUi5RootView, SapUi5OdataModel, SapUi5ResourceModel, SapUi5RoutingRoute } from '../../../common/webapp/manifest/sapUi5';
2
- import { FlexibleColumnLayoutV4 } from '../../ApplicationV4';
3
- import { SapUiGenericAppPageSettings } from '../../../common/page';
1
+ import type { SapUi5RootView, SapUi5OdataModel, SapUi5ResourceModel, SapUi5RoutingRoute } from '../../../common/webapp/manifest/sapUi5';
2
+ import type { FlexibleColumnLayoutV4 } from '../../ApplicationV4';
3
+ import type { SapUiGenericAppPageSettings } from '../../../common/page';
4
4
  export interface SapUi5V4 {
5
5
  flexEnabled?: boolean;
6
6
  resources?: object;
@@ -50,12 +50,21 @@ export interface SapUi5RoutingTargetNavigationV4 {
50
50
  route: string;
51
51
  };
52
52
  }
53
+ export interface SapUi5ViewPath {
54
+ key: string;
55
+ annotationPath: string;
56
+ entitySet?: string;
57
+ }
53
58
  export interface SapUi5RoutingTargetSettingsV4 {
54
59
  entitySet?: string;
55
60
  navigation?: {
56
61
  [key: string]: SapUi5RoutingTargetNavigationV4;
57
62
  };
58
63
  variantManagement?: string;
64
+ views?: {
65
+ paths: Array<SapUi5ViewPath>;
66
+ showCounts?: boolean;
67
+ };
59
68
  content?: {
60
69
  header?: {
61
70
  facets?: {};
@@ -1,4 +1,4 @@
1
- import { SapUiGenericAppPageSettings } from '../../../common/page';
1
+ import type { SapUiGenericAppPageSettings } from '../../../common/page';
2
2
  export interface SapUiAppV4 {
3
3
  pages: SapUiAppPageV4[] | SapUiGenericAppPageMapV4;
4
4
  _version?: string;
@@ -12,6 +12,24 @@ export interface SapUiNavDetailsV4 {
12
12
  route?: string;
13
13
  };
14
14
  }
15
+ export declare type SapUi5MultiViewPath = {
16
+ key: string;
17
+ annotationPath: string;
18
+ };
19
+ export declare type SapUi5MultiViewPaths = SapUi5MultiViewPath[];
20
+ export declare type SapUi5ALPPaths = [{
21
+ primary: [{
22
+ annotationPath: string;
23
+ }];
24
+ secondary: [{
25
+ annotationPath: string;
26
+ }];
27
+ defaultPath: string;
28
+ }];
29
+ export declare type SapUi5Views = {
30
+ paths: SapUi5MultiViewPaths | SapUi5ALPPaths;
31
+ showCounts?: boolean;
32
+ };
15
33
  export declare type SapUiPageSettingsV4 = SapUiGenericAppPageSettings & {
16
34
  entitySet?: string;
17
35
  navigation?: {
@@ -19,6 +37,7 @@ export declare type SapUiPageSettingsV4 = SapUiGenericAppPageSettings & {
19
37
  };
20
38
  controlConfiguration?: SapUiGenericAppPageSettings;
21
39
  content?: SapUi5RoutingTargetContent;
40
+ views?: SapUi5Views;
22
41
  };
23
42
  export interface SapUiAppPageV4 {
24
43
  type: string;
@@ -1,8 +1,9 @@
1
- import { Application, Manifest as ManifestV2, FioriElementsVersion, PagesBase } from '../../specification/common';
2
- import { AppSettings as AppSettingsV2 } from '../../specification/v2';
3
- import { Manifest as ManifestV4, AppSettings as AppSettingsV4 } from '../../specification/v4';
4
- import { Files } from './types';
5
- import { ExtensionLogger } from '../..';
1
+ import type { Application, Manifest as ManifestV2, PagesBase } from '../../specification/common';
2
+ import { FioriElementsVersion } from '../../specification/common';
3
+ import type { AppSettings as AppSettingsV2 } from '../../specification/v2';
4
+ import type { Manifest as ManifestV4, AppSettings as AppSettingsV4 } from '../../specification/v4';
5
+ import type { Files } from './types';
6
+ import type { ExtensionLogger } from '../..';
6
7
  export interface Controllers {
7
8
  [key: string]: string;
8
9
  }
@@ -1,4 +1,4 @@
1
- import { ControlTypeFunction } from '../types';
1
+ import type { ControlTypeFunction } from '../types';
2
2
  /**
3
3
  * General export rule, joining all given breadcrumbs to the base ID
4
4
  * @param baseId - base ID, first part of the stable ID
@@ -1,5 +1,5 @@
1
1
  import 'reflect-metadata';
2
- import { SyncRule, PageLayoutInformation, ValidityInformation } from '../types';
2
+ import type { SyncRule, PageLayoutInformation, ValidityInformation } from '../types';
3
3
  export declare const reflectMetadataKey: unique symbol;
4
4
  export declare const syncRule: (propSpec: SyncRule) => any;
5
5
  export declare function getReflectMetadata(target: any, propertyName: string): SyncRule;
@@ -1,6 +1,6 @@
1
- import { PageType, PageTypeV4 } from '../../../specification/common';
2
- import { V2Controls, V2Pages } from '../../v2/types';
3
- import { V4Controls, V4Pages } from '../../v4/types';
1
+ import type { PageType, PageTypeV4 } from '../../../specification/common';
2
+ import type { V2Controls, V2Pages } from '../../v2/types';
3
+ import type { V4Controls, V4Pages } from '../../v4/types';
4
4
  /**
5
5
  * Common interface that is used for all instantiations of (reflect) metadata classes
6
6
  */
@@ -1,6 +1,6 @@
1
- import { ChangeDefinitionInCreation } from '../types';
2
- import { Manifest as ManifestV2 } from '../../../v2';
3
- import { Manifest as ManifestV4 } from '../../../v4';
1
+ import type { ChangeDefinitionInCreation } from '../types';
2
+ import type { Manifest as ManifestV2 } from '../../../v2';
3
+ import type { Manifest as ManifestV4 } from '../../../v4';
4
4
  declare type Manifest = ManifestV2 | ManifestV4;
5
5
  export declare function exportToFlexChange(change: ChangeDefinitionInCreation, manifest: Manifest): string;
6
6
  export {};
@@ -1,7 +1,7 @@
1
- import { ChangeDefinition, ChangeDefinitionInCreation } from './types';
2
- import { Manifest as ManifestV2, UI5Version } from '../../../src';
3
- import { Manifest as ManifestV4 } from '../../v4';
4
- import { SyncRule } from '../common';
1
+ import type { ChangeDefinition, ChangeDefinitionInCreation } from './types';
2
+ import type { Manifest as ManifestV2, UI5Version } from '../../../src';
3
+ import type { Manifest as ManifestV4 } from '../../v4';
4
+ import type { SyncRule } from '../common';
5
5
  declare type Manifest = ManifestV2 | ManifestV4;
6
6
  /**
7
7
  * Create a change as string (calls changeUtils from ui5-flexibility-utils)
@@ -1,7 +1,8 @@
1
- import { ConverterOutput, EntityType } from '@sap-ux/vocabularies-types';
1
+ import type { ConverterOutput, EntityType } from '@sap-ux/vocabularies-types';
2
2
  import { FioriElementsVersion } from '../../../specification/common';
3
- import { FacetConfig, SectionType } from '..';
4
- import { EntitySet } from '@sap-ux/annotation-converter';
3
+ import type { FacetConfig } from '..';
4
+ import { SectionType } from '..';
5
+ import type { EntitySet } from '@sap-ux/annotation-converter';
5
6
  /**
6
7
  * Adds definitions for forms in object page sections to the app schema
7
8
  * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
@@ -1,27 +1,29 @@
1
- import { EntityType } from '@sap-ux/annotation-converter';
2
- import { AnnotationTerm, ConverterOutput, LineItem, UIAnnotationTerms } from '@sap-ux/vocabularies-types';
3
- import { FacetSection } from '..';
1
+ import type { EntitySet, EntityType } from '@sap-ux/annotation-converter';
2
+ import type { AnnotationTerm, ConverterOutput, LineItem } from '@sap-ux/vocabularies-types';
3
+ import { UIAnnotationTerms } from '@sap-ux/vocabularies-types';
4
+ import type { Definition } from 'typescript-json-schema';
5
+ import type { FacetSection } from '..';
4
6
  /**
5
7
  * Adds an enum filled with existing UI annotations of the given list (validAnnotations)
6
8
  * @param {EntityType} entityType
7
9
  * @param {UIAnnotationTerms[]} validAnnotations
8
- * @param annoPath - the annotation path property in the app schema where the enum shall be added
10
+ * @param {Definition} annoPath - the annotation path property in the app schema where the enum shall be added
9
11
  */
10
- export declare function addEnumForValidAnnotations(entityType: EntityType, validAnnotations: UIAnnotationTerms[], annoPath: object): void;
12
+ export declare function addEnumForValidAnnotations(entityType: EntityType, validAnnotations: UIAnnotationTerms[], annoPath: Definition): void;
11
13
  /**
12
14
  * Adds an enum filled with existing UI annotations for single-tab variants of a table
13
15
  * @param {EntityType} entityType
14
- * @param appSchema - app specific JSOn schema
16
+ * @param {Definition} appSchema - app specific JSON schema
15
17
  * @param definitionName - name of the definition in the app schema
16
18
  */
17
- export declare function addEnumForSingleTabVariant(entityType: EntityType, appSchema: object, definitionName: string): void;
19
+ export declare function addEnumForSingleTabVariant(entityType: EntityType, appSchema: Definition, definitionName: string): void;
18
20
  /**
19
21
  * Adds an enum filled with existing UI annotations for multi-tab variants of a table
20
- * @param {ConverterOutput} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
21
22
  * @param appSchema - app specific JSOn schema
22
23
  * @param definitionName - name of the definition in the app schema
24
+ * @param {EntitySet} entitySet - current entity set of the page or view
23
25
  */
24
- export declare function addEnumForMultiTabVariant(oDataServiceAVT: ConverterOutput, appSchema: object, definitionName: string): void;
26
+ export declare function addEnumForMultiTabVariant(appSchema: object, definitionName: string, entitySet: EntitySet): void;
25
27
  /**
26
28
  * Adds the enume values for entitySet as part of the multiple view scenario
27
29
  * @param {ConverterOutput} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
@@ -1,5 +1,5 @@
1
- import { DeprecatedProperties, SyncRule } from '../';
2
- import { ExtensionLogger } from '../../../apiTypes';
1
+ import type { DeprecatedProperties, SyncRule } from '../';
2
+ import type { ExtensionLogger } from '../../../apiTypes';
3
3
  /**
4
4
  * Transfers the value of a single manifest setting to the config
5
5
  * @param syncRule - Metadata rule
@@ -7,10 +7,11 @@ import { ExtensionLogger } from '../../../apiTypes';
7
7
  * @param propertyKey - Key of the property or setting
8
8
  * @param configPart - Part of the config JSON
9
9
  * @param sectionId - Section or facet ID
10
+ * @param breadcrumbs - list of breadcrumbs or id's describing the keys of all hierarchy levels
10
11
  */
11
12
  export declare function importProperty(syncRule: SyncRule, manifestSection: {}, propertyKey: string, configPart: {
12
13
  [key: string]: any;
13
- }, sectionId?: string): void;
14
+ }, sectionId?: string, breadcrumbs?: string[]): void;
14
15
  /**
15
16
  * Validation during import: check if properties are marked as deprecated.
16
17
  * If so, log them.