@sapui5/types 1.113.0

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 (66) hide show
  1. package/LICENSE.txt +35 -0
  2. package/README.md +35 -0
  3. package/package.json +23 -0
  4. package/types/index.d.ts +67 -0
  5. package/types/sap.apf.d.ts +1026 -0
  6. package/types/sap.ca.ui.d.ts +14005 -0
  7. package/types/sap.chart.d.ts +4815 -0
  8. package/types/sap.collaboration.d.ts +2704 -0
  9. package/types/sap.esh.search.ui.d.ts +1595 -0
  10. package/types/sap.f.d.ts +20085 -0
  11. package/types/sap.fe.core.d.ts +1508 -0
  12. package/types/sap.fe.macros.d.ts +975 -0
  13. package/types/sap.fe.navigation.d.ts +917 -0
  14. package/types/sap.fe.templates.d.ts +522 -0
  15. package/types/sap.fe.test.d.ts +3533 -0
  16. package/types/sap.feedback.ui.d.ts +3 -0
  17. package/types/sap.gantt.d.ts +51684 -0
  18. package/types/sap.insights.d.ts +23 -0
  19. package/types/sap.landvisz.d.ts +7952 -0
  20. package/types/sap.m.d.ts +147796 -0
  21. package/types/sap.makit.d.ts +4533 -0
  22. package/types/sap.me.d.ts +3665 -0
  23. package/types/sap.ndc.d.ts +774 -0
  24. package/types/sap.ovp.d.ts +176 -0
  25. package/types/sap.rules.ui.d.ts +1471 -0
  26. package/types/sap.sac.df.d.ts +2292 -0
  27. package/types/sap.sac.grid.d.ts +774 -0
  28. package/types/sap.suite.ui.commons.d.ts +46971 -0
  29. package/types/sap.suite.ui.generic.template.d.ts +3431 -0
  30. package/types/sap.suite.ui.microchart.d.ts +12652 -0
  31. package/types/sap.tnt.d.ts +2227 -0
  32. package/types/sap.ui.codeeditor.d.ts +693 -0
  33. package/types/sap.ui.commons.d.ts +30235 -0
  34. package/types/sap.ui.comp.d.ts +37411 -0
  35. package/types/sap.ui.core.d.ts +78872 -0
  36. package/types/sap.ui.dt.d.ts +3 -0
  37. package/types/sap.ui.export.d.ts +843 -0
  38. package/types/sap.ui.fl.d.ts +1663 -0
  39. package/types/sap.ui.generic.app.d.ts +2683 -0
  40. package/types/sap.ui.generic.template.d.ts +3 -0
  41. package/types/sap.ui.integration.d.ts +4032 -0
  42. package/types/sap.ui.layout.d.ts +14472 -0
  43. package/types/sap.ui.mdc.d.ts +476 -0
  44. package/types/sap.ui.richtexteditor.d.ts +1666 -0
  45. package/types/sap.ui.rta.d.ts +124 -0
  46. package/types/sap.ui.suite.d.ts +685 -0
  47. package/types/sap.ui.support.d.ts +453 -0
  48. package/types/sap.ui.table.d.ts +9325 -0
  49. package/types/sap.ui.testrecorder.d.ts +9 -0
  50. package/types/sap.ui.unified.d.ts +20640 -0
  51. package/types/sap.ui.ux3.d.ts +18288 -0
  52. package/types/sap.ui.vbm.d.ts +17251 -0
  53. package/types/sap.ui.vk.d.ts +42381 -0
  54. package/types/sap.ui.vtm.d.ts +10547 -0
  55. package/types/sap.ui.webc.common.d.ts +113 -0
  56. package/types/sap.ui.webc.fiori.d.ts +13850 -0
  57. package/types/sap.ui.webc.main.d.ts +40833 -0
  58. package/types/sap.uiext.inbox.d.ts +4079 -0
  59. package/types/sap.ushell.d.ts +10255 -0
  60. package/types/sap.ushell_abap.d.ts +9 -0
  61. package/types/sap.uxap.d.ts +7636 -0
  62. package/types/sap.viz.d.ts +51209 -0
  63. package/types/sap.webanalytics.core.d.ts +3 -0
  64. package/types/sap.zen.commons.d.ts +1542 -0
  65. package/types/sap.zen.crosstab.d.ts +1159 -0
  66. package/types/sap.zen.dsh.d.ts +2132 -0
@@ -0,0 +1,3431 @@
1
+ // For Library Version: 1.113.0
2
+
3
+ declare module "sap/suite/ui/generic/template/library" {
4
+ /**
5
+ * A static enumeration type which indicates the mode of targeted page while using navigateInternal extensionAPI
6
+ */
7
+ export enum displayMode {
8
+ /**
9
+ * Navigating in create mode
10
+ */
11
+ create = "create",
12
+ /**
13
+ * Navigating in read-only mode
14
+ */
15
+ display = "display",
16
+ /**
17
+ * Navigating in draft mode
18
+ */
19
+ edit = "edit",
20
+ /**
21
+ * Navigating with a mode which is not yet decided (fallback condition)
22
+ */
23
+ undefined = "undefined",
24
+ }
25
+ }
26
+
27
+ declare module "sap/suite/ui/generic/template/AnalyticalListPage/controllerFrameworkExtensions" {
28
+ import SelectionVariant from "sap/ui/generic/app/navigation/service/SelectionVariant";
29
+
30
+ import Filter from "sap/ui/export/util/Filter";
31
+
32
+ import Event from "sap/ui/base/Event";
33
+
34
+ import Filter1 from "sap/ui/model/Filter";
35
+
36
+ import Sorter from "sap/ui/model/Sorter";
37
+
38
+ import Context from "sap/ui/model/Context";
39
+
40
+ /**
41
+ * This class contains all extension functions that can be implemented by Application developers in their
42
+ * extension code. Application developers should not override any methods outside this documentation
43
+ */
44
+ interface controllerFrameworkExtensions {
45
+ /**
46
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
47
+ *
48
+ * This method is called by SAP Fiori elements before triggering an external navigation. Application developers
49
+ * can override this method and programmatically adapt the parameters which are passed to the target application.
50
+ * Application developers can use the oObjectInfo parameter to identify the navigation context and modify
51
+ * the oSelectionVariant which contains the navigation parameters.
52
+ */
53
+ adaptNavigationParameterExtension(
54
+ /**
55
+ * Selection variant object containing the information which needs to be passed to the target application
56
+ */
57
+ oSelectionVariant: SelectionVariant,
58
+ /**
59
+ * Context object based on which the intent based navigation is triggered
60
+ */
61
+ oObjectInfo: {
62
+ /**
63
+ * Semantic object used for the intend based navigation
64
+ */
65
+ semanticObject: string;
66
+ /**
67
+ * Action on the context for which the navigation is triggered
68
+ */
69
+ action: string;
70
+ }
71
+ ): void;
72
+ /**
73
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
74
+ *
75
+ * This method is called by SAP Fiori elements whenever the busy state is switched off. Application developers
76
+ * can override this method, access the message model and adapt the transient messages related to the component.
77
+ */
78
+ adaptTransientMessageExtension(): void;
79
+ /**
80
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
81
+ *
82
+ * This method is called by SAP Fiori elements when a smart link in a table is clicked. Application developers
83
+ * can override this method and invoke the oParams.getSourceInfo method to find out the information about
84
+ * the clicked smart link.
85
+ *
86
+ * If the application expect the framework should not handle the `beforePopoverOpens` event, then this method
87
+ * should return true. Otherwise, framework will proceed with its handling.
88
+ *
89
+ * @returns Method should return `true` if framework should not handle `beforePopoverOpens` event (that
90
+ * means: extension code will handle the event)
91
+ */
92
+ beforeSmartLinkPopoverOpensExtension(
93
+ /**
94
+ * Object containing the "getSourceInfo" method and the selection variant
95
+ */
96
+ oParams: {
97
+ /**
98
+ * Selection variant object containing the information which needs to be passed to the target application
99
+ */
100
+ oSelectionVariant: SelectionVariant;
101
+ /**
102
+ * Returns an object contains information about the smart link
103
+ */
104
+ getSourceInfo?: Function;
105
+ }
106
+ ): boolean;
107
+ /**
108
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
109
+ *
110
+ * This method is called by SAP Fiori elements before persisting the AppState. Application developers can
111
+ * override this method for persisting the state of custom controls. State of the custom control (controls)
112
+ * should be stored in the oCustomData passed as a parameter to this method. To make a complete functionality,
113
+ * this method should be overridden with `restoreCustomAppStateDataExtension`.
114
+ */
115
+ getCustomAppStateDataExtension(
116
+ /**
117
+ * Object to be enriched with the custom control state
118
+ */
119
+ oCustomData: object
120
+ ): void;
121
+ /**
122
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
123
+ *
124
+ * This method is called in the AppState creation lifecycle. Application developers can override this method,
125
+ * return an array of all selection fields set on SmartFilterBar using custom code as default and doesn't
126
+ * really want to store as part of the AppState. SAP Fiori elements framework will remove these filter properties
127
+ * from the selection variant.
128
+ *
129
+ * @returns - Properties which are visible and should not be stored as part of the selection variant in
130
+ * the AppState
131
+ */
132
+ getVisibleSelectionsWithDefaults(): any[];
133
+ /**
134
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
135
+ *
136
+ * This method is called by SAP Fiori elements in the startup life cycle of a component. Application developers
137
+ * can override this method and modify the startup object. For an example, when the application is started,
138
+ * the selection variant might contain some properties that are not required for this app. Such properties
139
+ * can be removed from the selection variant. The reverse use case is also true, where some additional properties
140
+ * needs to be added with certain fixed values. This can be achieved by adding these values to the selection
141
+ * variant.
142
+ */
143
+ modifyStartupExtension(
144
+ /**
145
+ * Startup Object containing the initial contexts
146
+ */
147
+ oStartupObject: {
148
+ /**
149
+ * Selection Variant containing the values which needs to be applied to the smart filter bar
150
+ */
151
+ selectionVariant: SelectionVariant;
152
+ /**
153
+ * Semantic dates configuration in the manifest is read an assigned in this object
154
+ */
155
+ semanticDates: object;
156
+ }
157
+ ): void;
158
+ /**
159
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
160
+ *
161
+ * This method is called by SAP Fiori elements when the table data is getting exported. Application developers
162
+ * can override this method to add/remove the filters in the exported file.
163
+ *
164
+ * To add new filter entries to the exported file, create an instance of {@link sap.ui.export.util.Filter}
165
+ * and add it to "oExportParams.filterSettings"
166
+ */
167
+ onBeforeExportTableExtension(
168
+ /**
169
+ * Object containing the table export info
170
+ */
171
+ oExportParams: {
172
+ /**
173
+ * The filters in the exported file Note: Please make changes on "oExportParams.filterSettings" array only
174
+ * when "Include filter settings" is selected. Otherwise, the changes will be ignored.
175
+ */
176
+ filterSettings: Filter[];
177
+ /**
178
+ * The value of "Include filter settings" checkbox
179
+ */
180
+ includeFilterSettings: boolean;
181
+ }
182
+ ): void;
183
+ /**
184
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
185
+ *
186
+ * This method is called by SAP Fiori elements before binding a chart. Application developers can override
187
+ * this method and programmatically modify parameters or filters before chart triggers a query to retrieve
188
+ * data.
189
+ *
190
+ * **Note: **This method is called only when a chart is rebound, and not when it is refreshed.
191
+ */
192
+ onBeforeRebindChartExtension(
193
+ /**
194
+ * The {@link sap.ui.comp.smartchart.SmartChart.prototype.event:beforeRebindChart beforeRebindChart} event
195
+ */
196
+ oEvent: Event
197
+ ): void;
198
+ /**
199
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
200
+ *
201
+ * This method is called by SAP Fiori elements before binding a filterable KPI. Application developers can
202
+ * override this method to modify parameters or filters for a filterable KPI.
203
+ */
204
+ onBeforeRebindFilterableKPIExtension(
205
+ /**
206
+ * The SelectionVariant.
207
+ */
208
+ oSelectionVariant: SelectionVariant,
209
+ /**
210
+ * The filterable KPI's entity type.
211
+ */
212
+ sEntityType: string,
213
+ /**
214
+ * The filterable KPI's Id.
215
+ */
216
+ sKPIId: string
217
+ ): void;
218
+ /**
219
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
220
+ *
221
+ * This method is called by SAP Fiori elements before binding a table. Application developers can override
222
+ * this method and programmatically modify parameters or filters before the table triggers a query to retrieve
223
+ * data.
224
+ *
225
+ * **Note: **This method is called only when a table is rebound, and not when it is refreshed.
226
+ */
227
+ onBeforeRebindTableExtension(
228
+ /**
229
+ * The {@link sap.ui.comp.smarttable.SmartTable.prototype.event:beforeRebindTable beforeRebindTable} event
230
+ */
231
+ oEvent: Event
232
+ ): void;
233
+ /**
234
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
235
+ *
236
+ * This method is called by SAP Fiori elements before binding a visual filter. Application developers can
237
+ * override this method and programmatically modify parameters, filters, or influence sorting before the
238
+ * chart triggers a query to retrieve data. Application developers can also access incoming navigation contexts
239
+ * of the app through `getNavigationContext` API.
240
+ */
241
+ onBeforeRebindVisualFilterExtension(
242
+ /**
243
+ * The visual filter entity type.
244
+ */
245
+ sEntityType: string,
246
+ /**
247
+ * The visual filter dimension.
248
+ */
249
+ sDimension: string,
250
+ /**
251
+ * The visual filter measure.
252
+ */
253
+ sMeasure: string,
254
+ /**
255
+ * The context to modify for the custom filter/parameter, query parameter or sort order.
256
+ */
257
+ oContext: {
258
+ /**
259
+ * The object can be modified for the entity set parameters to be applied to the visual filter call.
260
+ */
261
+ entityParameters: object;
262
+ /**
263
+ * The object can be modified for the custom query parameters to be applied to the visual filter call.
264
+ */
265
+ queryParameter: object;
266
+ /**
267
+ * The combined filter array can be modified by users to influence the filters applied to the visual filter
268
+ * call.
269
+ */
270
+ filters: Filter1[];
271
+ /**
272
+ * The combined sorter array can be modified by users to influence the sorting order of the visual filter.
273
+ */
274
+ sorters: Sorter[];
275
+ }
276
+ ): void;
277
+ /**
278
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
279
+ *
280
+ * This method should be implemented whenever application uses onListNavigationExtension for internal navigation.
281
+ * In this case the implementation of this method should provide an 'inverse' mapping to the transformation
282
+ * implemented within onListNavigationExtension. More precisely, the identification of a child page instance
283
+ * is passed to this function. The implementation of this function should provide information about the
284
+ * list item which has triggered the opening of the child page.
285
+ */
286
+ onChildOpenedExtension(
287
+ /**
288
+ * Information about the child page instance opened last
289
+ */
290
+ oSelectionInfo: {
291
+ /**
292
+ * The entity set identifying the child page which was opened last. Note: In case the child page has been
293
+ * defined without reference to OData this will be the routeName taken from the routingSpec.
294
+ */
295
+ pageEntitySet?: string;
296
+ /**
297
+ * The context path that was used for the last opened child page
298
+ */
299
+ path?: string;
300
+ /**
301
+ * The array of keys (one on each hiearchy level) used for the last opened child page
302
+ */
303
+ keys?: string[];
304
+ },
305
+ /**
306
+ * pass the binding path of the corresponding list item to this function if it is not identical to `oSelectionInfo.path`
307
+ */
308
+ fnSetPath: Function
309
+ ): void;
310
+ /**
311
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
312
+ *
313
+ * This method is called by SAP Fiori elements when the Clear button on the filter dialog is clicked. Application
314
+ * developers can override this method to clear custom filters.
315
+ */
316
+ onClearFilterExtension(
317
+ /**
318
+ * The press event fired when the Clear button is pressed
319
+ */
320
+ oEvent: Event
321
+ ): void;
322
+ /**
323
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
324
+ *
325
+ * This method is called by Fiori elements on the initialization of View. Application developers can override
326
+ * this method & perform internal setup in this hook.
327
+ */
328
+ onInit(): void;
329
+ /**
330
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
331
+ *
332
+ * This method is called by SAP Fiori elements once the smart filter bar is initialized with a variant.
333
+ * Application developers can override this method when there is a custom filter field bound outside the
334
+ * standard model.
335
+ */
336
+ onInitSmartFilterBarExtension(
337
+ /**
338
+ * The {@link sap.ui.comp.filterbar.FilterBar.prototype.event:initialise initialise} event
339
+ */
340
+ oEvent: Event
341
+ ): void;
342
+ /**
343
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
344
+ *
345
+ * This method is called when the user leaves the app and this page has been displayed within the same app
346
+ * session (this is the time since last opening the app) at least once. Moreover, it is called for all pages
347
+ * that have been displayed within some app session when the app is finally destroyed.
348
+ *
349
+ * @returns - Only relevant in case that `isDestroyed` is false. In this case Application developers can
350
+ * provide a function to be called when the same page is opened again (after the user has navigated back
351
+ * to the app).
352
+ */
353
+ onLeaveAppExtension(
354
+ /**
355
+ * If this parameter is true this app instance is destroyed. Otherwise it might be rewoken if the user navigates
356
+ * again to this app within the same FLP session
357
+ */
358
+ bIsDestroyed: boolean
359
+ ): Function;
360
+ /**
361
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
362
+ *
363
+ * This method is called by SAP Fiori elements when a chevron navigation is triggered from a table. Application
364
+ * developers can override this method and perform conditional (internal or external) navigation from different
365
+ * rows of a table. Such custom navigation should be triggered via corresponding methods of {@link sap.suite.ui.generic.template.extensionAPI.NavigationController
366
+ * NavigationController}.
367
+ *
368
+ * @returns Method should return `true` if framework navigation should be suppressed (that means: extension
369
+ * code has taken over navigation)
370
+ */
371
+ onListNavigationExtension(
372
+ /**
373
+ * The press event fired when navigating from a row in the SmartTable. It is recommended to ignore this
374
+ * parameter and use `oBindingContext` instead
375
+ */
376
+ oEvent: Event,
377
+ /**
378
+ * The context of the corresponding table row
379
+ */
380
+ oBindingContext: Context,
381
+ /**
382
+ * This parameter should be considered if the method triggers an internal navigation. Pass this parameter
383
+ * to `oNavigationData.replaceInHistory` in this case
384
+ */
385
+ bReplaceInHistory: boolean
386
+ ): boolean;
387
+ /**
388
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
389
+ *
390
+ * This method is called by SAP Fiori elements when the Share functionality is triggered. Application developers
391
+ * can adapt the service URL passed as a parameter to this method. Adapted service URL will be used in the
392
+ * 'Send Email' or 'Save as Tile' options.
393
+ */
394
+ onSaveAsTileExtension(
395
+ /**
396
+ * Object containing the serviceURL
397
+ */
398
+ oShareInfo: {
399
+ /**
400
+ * Service URL which is derived by SAP Fiori elements
401
+ */
402
+ serviceUrl: string;
403
+ }
404
+ ): void;
405
+ /**
406
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
407
+ *
408
+ * This method is called by SAP Fiori elements while applying the AppState. This method should be overridden
409
+ * with `getCustomAppStateDataExtension`. The custom data retrieved from the AppState will be passed as
410
+ * a parameter to this method. Application developers can use this custom data to restore the state of the
411
+ * custom control.
412
+ */
413
+ restoreCustomAppStateDataExtension(
414
+ /**
415
+ * Custom data containing the information
416
+ */
417
+ oCustomData: object
418
+ ): void;
419
+ }
420
+ const controllerFrameworkExtensions: controllerFrameworkExtensions;
421
+ export default controllerFrameworkExtensions;
422
+ }
423
+
424
+ declare module "sap/suite/ui/generic/template/AnalyticalListPage/extensionAPI/ExtensionAPI" {
425
+ import BaseObject from "sap/ui/base/Object";
426
+
427
+ import Control from "sap/ui/core/Control";
428
+
429
+ import Metadata from "sap/ui/base/Metadata";
430
+
431
+ import NavigationController from "sap/suite/ui/generic/template/extensionAPI/NavigationController";
432
+
433
+ import Context from "sap/ui/model/Context";
434
+
435
+ export default class ExtensionAPI extends BaseObject {
436
+ /**
437
+ * API to be used in extensions of AnalyticalListPage. Breakout coding can access an instance of this class
438
+ * via `this.extensionAPI`. Do not instantiate yourself.
439
+ */
440
+ constructor();
441
+
442
+ /**
443
+ * Creates a new subclass of class sap.suite.ui.generic.template.AnalyticalListPage.extensionAPI.ExtensionAPI
444
+ * with name `sClassName` and enriches it with the information contained in `oClassInfo`.
445
+ *
446
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.Object.extend}.
447
+ *
448
+ * @returns Created class / constructor function
449
+ */
450
+ static extend<T extends Record<string, unknown>>(
451
+ /**
452
+ * Name of the class being created
453
+ */
454
+ sClassName: string,
455
+ /**
456
+ * Object literal with information about the class
457
+ */
458
+ oClassInfo?: sap.ClassInfo<T, ExtensionAPI>,
459
+ /**
460
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
461
+ * used by this class
462
+ */
463
+ FNMetaImpl?: Function
464
+ ): Function;
465
+ /**
466
+ * Returns a metadata object for class sap.suite.ui.generic.template.AnalyticalListPage.extensionAPI.ExtensionAPI.
467
+ *
468
+ * @returns Metadata object describing this class
469
+ */
470
+ static getMetadata(): Metadata;
471
+ /**
472
+ * Attaches a control to the current View. Should be called whenever a new control is created and used in
473
+ * the context of this view. This applies especially for dialogs, action sheets, popovers, ... This method
474
+ * cares for defining dependency and handling device specific style classes
475
+ */
476
+ attachToView(
477
+ /**
478
+ * the control to be attached to the view
479
+ */
480
+ oControl: Control
481
+ ): void;
482
+ /**
483
+ * provides incoming navigation context of the app
484
+ *
485
+ * @returns Navigation context object
486
+ */
487
+ getNavigationContext(): Object;
488
+ /**
489
+ * Get the navigation controller for navigation actions
490
+ *
491
+ * @returns the navigation controller
492
+ */
493
+ getNavigationController(): NavigationController;
494
+ /**
495
+ * Get the list entries currently selected
496
+ *
497
+ * @returns contains the entries selected
498
+ */
499
+ getSelectedContexts(
500
+ /**
501
+ * the id identifying the ui element the selected context is requested for
502
+ */
503
+ sUiElementId: string
504
+ ): Context[];
505
+ /**
506
+ * This method should be called when any custom ui state handled by the getCustomAppStateDataExtension method
507
+ * changes. Note that changes applied to custom filters need not to be propagated this way, since the change
508
+ * event of the SmartFilterBar will automatically be handled by the smart template framework.
509
+ */
510
+ onCustomAppStateChange(): void;
511
+ /**
512
+ * Triggers rebinding on the list
513
+ */
514
+ rebindTable(): void;
515
+ /**
516
+ * Refreshes All controls in ALP
517
+ */
518
+ refresh(): void;
519
+ /**
520
+ * Refreshes the SmartTable
521
+ */
522
+ refreshTable(): void;
523
+ /**
524
+ * Secured execution of the given function. Ensures that the function is only executed when certain conditions
525
+ * are fulfilled.
526
+ * See:
527
+ * {@link topic:6a39150ad3e548a8b5304d32d560790a Using the SecuredExecutionMethod}
528
+ *
529
+ * @returns A `Promise` that is rejected, if execution is prohibited, and settled equivalent to the one
530
+ * returned by fnFunction.
531
+ */
532
+ securedExecution(
533
+ /**
534
+ * The function to be executed. Should return a promise that is settled after completion of the execution.
535
+ * If nothing is returned, immediate completion is assumed.
536
+ */
537
+ fnFunction: Function,
538
+ /**
539
+ * Parameters to define the preconditions to be checked before execution
540
+ */
541
+ mParameters?: {
542
+ /**
543
+ * Parameters regarding busy indication
544
+ */
545
+ busy?: {
546
+ /**
547
+ * Triggers a busy indication during function execution. Can be set to false in case of immediate completion.
548
+ */
549
+ set?: boolean;
550
+ /**
551
+ * Checks whether the application is currently busy. Function is only executed if not. Has to be set to
552
+ * false, if function is not triggered by direct user interaction, but as result of another function, that
553
+ * set the application busy.
554
+ */
555
+ check?: boolean;
556
+ };
557
+ /**
558
+ * Parameters regarding dataloss prevention
559
+ */
560
+ dataloss?: {
561
+ /**
562
+ * Provides a dataloss popup before execution of the function if needed (i.e. in non-draft case when model
563
+ * or registered methods contain pending changes).
564
+ */
565
+ popup?: boolean;
566
+ /**
567
+ * Indicates that execution of the function leads to a navigation, i.e. leaves the current page, which induces
568
+ * a slightly different text for the dataloss popup.
569
+ */
570
+ navigation?: boolean;
571
+ };
572
+ /**
573
+ * Tells the framework that objects will be deleted by `fnFunction`. Use the BindingContextPath as a key
574
+ * for the map. Fill the map with a `Promise` for each object which is to be deleted. The `Promise` must
575
+ * resolve after the deletion of the corresponding object or reject if the deletion is not successful.
576
+ */
577
+ mConsiderObjectsAsDeleted?: Record<string, any>;
578
+ /**
579
+ * In case of custom actions, the title of the message popup is set to sActionLabel.
580
+ */
581
+ sActionLabel?: string;
582
+ }
583
+ ): Promise<any>;
584
+ /**
585
+ * Provide an option for showing an own message in the message bar above the ALP table
586
+ */
587
+ setCustomMessage(
588
+ /**
589
+ * custom message along with type to set on table. If this parameter is faulty an existing message will
590
+ * be removed.
591
+ */
592
+ oMessage?: {
593
+ /**
594
+ * message string to display
595
+ */
596
+ message: string;
597
+ /**
598
+ * indicates type of message (sap.ui.core.MessageType) whether it's sap.ui.core.MessageType.Success, sap.ui.core.MessageType.Warning,
599
+ * sap.ui.core.MessageType.Error or sap.ui.core.MessageType.Information.
600
+ */
601
+ type: string;
602
+ },
603
+ /**
604
+ * If switching between different table views is enabled, this parameter can be used to identify the views
605
+ * which are affected by this call. Faulty values indicate that all views should be affected. Otherwise
606
+ * the value should either be one string or an array of strings identifying the affected variant items.
607
+ */
608
+ vTabKey?: any[] | string,
609
+ /**
610
+ * A function that is called when the user closes the message bar. Note that the messages for all tabs specified
611
+ * via `vTabKey` will be considered to be obsolete when the user closes the message bar while one of them
612
+ * is active.
613
+ */
614
+ onClose?: Function
615
+ ): void;
616
+ }
617
+ }
618
+
619
+ declare module "sap/suite/ui/generic/template/Canvas/extensionAPI/ExtensionAPI" {
620
+ import BaseObject from "sap/ui/base/Object";
621
+
622
+ import Page from "sap/m/Page";
623
+
624
+ import ObjectPageLayout from "sap/uxap/ObjectPageLayout";
625
+
626
+ import Control from "sap/ui/core/Control";
627
+
628
+ import Metadata from "sap/ui/base/Metadata";
629
+
630
+ import NavigationController from "sap/suite/ui/generic/template/extensionAPI/NavigationController";
631
+
632
+ import DraftTransactionController from "sap/suite/ui/generic/template/ObjectPage/extensionAPI/DraftTransactionController";
633
+
634
+ import NonDraftTransactionController from "sap/suite/ui/generic/template/ObjectPage/extensionAPI/NonDraftTransactionController";
635
+
636
+ import Context from "sap/ui/model/Context";
637
+
638
+ export default class ExtensionAPI extends BaseObject {
639
+ /**
640
+ * API to be used in extensions of Canvas. Breakout coding can access an instance of this class via `this.extensionAPI`.
641
+ * Do not instantiate yourself.
642
+ */
643
+ constructor();
644
+
645
+ /**
646
+ * Creates a new subclass of class sap.suite.ui.generic.template.Canvas.extensionAPI.ExtensionAPI with name
647
+ * `sClassName` and enriches it with the information contained in `oClassInfo`.
648
+ *
649
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.Object.extend}.
650
+ *
651
+ * @returns Created class / constructor function
652
+ */
653
+ static extend<T extends Record<string, unknown>>(
654
+ /**
655
+ * Name of the class being created
656
+ */
657
+ sClassName: string,
658
+ /**
659
+ * Object literal with information about the class
660
+ */
661
+ oClassInfo?: sap.ClassInfo<T, ExtensionAPI>,
662
+ /**
663
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
664
+ * used by this class
665
+ */
666
+ FNMetaImpl?: Function
667
+ ): Function;
668
+ /**
669
+ * Returns a metadata object for class sap.suite.ui.generic.template.Canvas.extensionAPI.ExtensionAPI.
670
+ *
671
+ * @returns Metadata object describing this class
672
+ */
673
+ static getMetadata(): Metadata;
674
+ /**
675
+ * Can be used to add the standard footer bar for detail pages to this canvas page. It also allows to pass
676
+ * an array of buttons to be added to the footer. Note that the usage of the standard footer bar must have
677
+ * been switched on in the settings of the page
678
+ */
679
+ addFooterBarToPage(
680
+ /**
681
+ * the page the standard footer bar should be set for
682
+ */
683
+ oPage: Page | ObjectPageLayout,
684
+ /**
685
+ * an array of controls(for example; Buttons) to be added to the footer.
686
+ */
687
+ aActions: any[]
688
+ ): void;
689
+ /**
690
+ * Attach a handler to the PageDataLoaded event. This event is fired each time the object page is navigated
691
+ * to or the object to be displayed is changed Note, that the event will not be fired before:
692
+ * the navigation to the page has been completed the header data of the object are available
693
+ */
694
+ attachPageDataLoaded(
695
+ /**
696
+ * the handler function. Note that the event passed to this function possesses an attribute `context` which
697
+ * contains the current header context
698
+ */
699
+ fnFunction: Function
700
+ ): void;
701
+ /**
702
+ * Attaches a control to the current View. Should be called whenever a new control is created and used in
703
+ * the context of this view. This applies especially for dialogs, action sheets, popovers, ... This method
704
+ * cares for defining dependency and handling device specific style classes
705
+ */
706
+ attachToView(
707
+ /**
708
+ * the control to be attached to the view
709
+ */
710
+ oControl: Control
711
+ ): void;
712
+ /**
713
+ * Detach a handler from the PageDataLoaded event
714
+ */
715
+ detachPageDataLoaded(
716
+ /**
717
+ * the handler function
718
+ */
719
+ fnFunction: Function
720
+ ): void;
721
+ /**
722
+ * Get the Flexible Column Layout Action Buttons(Fullscreen, Exit Fullscreen and Close).
723
+ *
724
+ * @returns Flexible Column Layout Action Buttons
725
+ */
726
+ getFlexibleColumnLayoutActionButtons(): object;
727
+ /**
728
+ * Get the navigation controller for navigation actions
729
+ *
730
+ * @returns the navigation controller
731
+ */
732
+ getNavigationController(): NavigationController;
733
+ /**
734
+ * Get the transaction controller for editing actions on the page. Note that the methods provided by this
735
+ * transaction controller depend on whether the object supports drafts or not.
736
+ *
737
+ * @returns the transaction controller
738
+ */
739
+ getTransactionController():
740
+ | DraftTransactionController
741
+ | NonDraftTransactionController;
742
+ /**
743
+ * Invokes multiple time the action with the given name and submits changes to the back-end.
744
+ *
745
+ * @returns A `Promise` for asynchronous execution of the action, resolving to the same result as the `Promise`
746
+ * returned from {@link sap.ui.generic.app.ApplicationController}
747
+ */
748
+ invokeActions(
749
+ /**
750
+ * The name of the function or action
751
+ */
752
+ sFunctionName: string,
753
+ /**
754
+ * The given binding contexts
755
+ */
756
+ vContext: any[] | Context,
757
+ /**
758
+ * The URL parameters (name-value pairs) for the function or action. This is not in oSettings for backward
759
+ * compatibility
760
+ */
761
+ mUrlParameters: Record<string, any>,
762
+ /**
763
+ * Parameters that are set for invoking Application controller's invokeActions method
764
+ */
765
+ oSettings: {
766
+ /**
767
+ * Determines whether the common or unique changeset gets sent in batch
768
+ */
769
+ bInvocationGroupingChangeSet: boolean;
770
+ }
771
+ ): Promise<any>;
772
+ /**
773
+ * Invokes multiple time the action with the given name and submits changes to the back-end.
774
+ *
775
+ * @returns A `Promise` for asynchronous execution of the action, resolving to the same result as the `Promise`
776
+ * returned from {@link sap.ui.generic.app.ApplicationController}
777
+ */
778
+ invokeActions(
779
+ /**
780
+ * The name of the function or action
781
+ */
782
+ sFunctionName: string,
783
+ /**
784
+ * The given binding contexts
785
+ */
786
+ vContext: any[] | Context,
787
+ /**
788
+ * Parameters that are set for invoking Application controller's invokeActions method
789
+ */
790
+ oSettings: {
791
+ /**
792
+ * Determines whether the common or unique changeset gets sent in batch
793
+ */
794
+ bInvocationGroupingChangeSet: boolean;
795
+ }
796
+ ): Promise<any>;
797
+ /**
798
+ * Call this method to indicate that the state of custom controls has changed. This is only necessary when
799
+ * methods `stGetCurrentState` and `stApplyState` have been implemented by the reuse component in the Canvas
800
+ * page, such that the corresponding state can be stored and restored.
801
+ */
802
+ onCustomStateChange(): void;
803
+ /**
804
+ * Allow parent components to be refreshed on next activation
805
+ */
806
+ refreshAncestors(
807
+ /**
808
+ * Number of parent components to be refreshed 1 - Refresh the immediate parent component Undefined or faulty
809
+ * - Refresh all parent components
810
+ */
811
+ iLevel: int
812
+ ): void;
813
+ /**
814
+ * Registers a filter provider for the the message popover
815
+ */
816
+ registerMessageFilterProvider(
817
+ /**
818
+ * function which will be called each time a new context is set for the object page. The function should
819
+ * return an instance of sap.ui.model.Filter, an array of sap.ui.model.Filter or a Promise which resolves
820
+ * to one of these.
821
+ */
822
+ fnProviderCallback: Function
823
+ ): void;
824
+ /**
825
+ * Secured execution of the given function. Ensures that the function is only executed when certain conditions
826
+ * are fulfilled.
827
+ * See:
828
+ * {@link topic:6a39150ad3e548a8b5304d32d560790a Using the SecuredExecutionMethod}
829
+ *
830
+ * @returns A `Promise` that is rejected, if execution is prohibited, and settled equivalent to the one
831
+ * returned by fnFunction.
832
+ */
833
+ securedExecution(
834
+ /**
835
+ * The function to be executed. Should return a promise that is settled after completion of the execution.
836
+ * If nothing is returned, immediate completion is assumed.
837
+ */
838
+ fnFunction: Function,
839
+ /**
840
+ * Parameters to define the preconditions to be checked before execution
841
+ */
842
+ mParameters?: {
843
+ /**
844
+ * Parameters regarding busy indication
845
+ */
846
+ busy?: {
847
+ /**
848
+ * Triggers a busy indication during function execution. Can be set to false in case of immediate completion.
849
+ */
850
+ set?: boolean;
851
+ /**
852
+ * Checks whether the application is currently busy. Function is only executed if not. Has to be set to
853
+ * false, if function is not triggered by direct user interaction, but as result of another function, that
854
+ * set the application busy.
855
+ */
856
+ check?: boolean;
857
+ };
858
+ /**
859
+ * Parameters regarding dataloss prevention
860
+ */
861
+ dataloss?: {
862
+ /**
863
+ * Provides a dataloss popup before execution of the function if needed (i.e. in non-draft case when model
864
+ * or registered methods contain pending changes).
865
+ */
866
+ popup?: boolean;
867
+ /**
868
+ * Indicates that execution of the function leads to a navigation, i.e. leaves the current page, which induces
869
+ * a slightly different text for the dataloss popup.
870
+ */
871
+ navigation?: boolean;
872
+ };
873
+ /**
874
+ * Tells the framework that objects will be deleted by `fnFunction`. Use the BindingContextPath as a key
875
+ * for the map. Fill the map with a `Promise` for each object which is to be deleted. The `Promise` must
876
+ * resolve after the deletion of the corresponding object or reject if the deletion is not successful.
877
+ */
878
+ mConsiderObjectsAsDeleted?: Record<string, any>;
879
+ /**
880
+ * In case of custom actions, the title of the message popup is set to sActionLabel.
881
+ */
882
+ sActionLabel?: string;
883
+ }
884
+ ): Promise<any>;
885
+ }
886
+ }
887
+
888
+ declare module "sap/suite/ui/generic/template/extensionAPI/extensionAPI" {
889
+ import Control from "sap/ui/core/Control";
890
+
891
+ /**
892
+ * Static access to extension API for Smart Template Application development
893
+ */
894
+ interface extensionAPI {
895
+ /**
896
+ * Get the extension API valid for the specified control embedded in a SAP Fiori elements view. Note that
897
+ * extension API can also be retrieved directly from the controller of the SAP Fiori elements view. Therefore,
898
+ * this method only needs to be called in scenarios where this controller is not directly accessible. The
899
+ * most prominent use case for this would be the context of a controller of a view extension. In this case,
900
+ * it is recommended to pass the extending view to this method.
901
+ * Note that this method does not return the extension API directly, but a Promise that resolves to the
902
+ * extension API. Thus, a typical use of this method might look as follows:
903
+ * `sap.ui.define(["sap/suite/ui/generic/template/extensionAPI/extensionAPI"], function(extensionAPI){
904
+ * ...
905
+ * extensionAPI.getExtensionAPIPromise(oView).then(function(oExtensionAPI){
906
+ * oExtensionAPI.someMethod();
907
+ * });
908
+ * ...
909
+ * });`
910
+ *
911
+ * @returns A `Promise` which resolves to the extension API for the embedding SAP Fiori elements view
912
+ */
913
+ getExtensionAPIPromise(
914
+ /**
915
+ * a control which is embedded into a SAP Fiori elements view.
916
+ */
917
+ oControl: Control
918
+ ): Promise<any>;
919
+ /**
920
+ * This method can be used to define specific controller extension(s) for a template which is used more
921
+ * than once within a SAP Fiori elements application. More precisely: In the manifest of a SAP Fiori elements
922
+ * application, you can register a controller extension. This controller extension is defined at `sap.ui5/extends/extensions/sap.ui.controllerExtensions/{template}`.
923
+ * This means that {template} identifies the template to be extended, e.g. `sap.suite.ui.generic.template.ObjectPage.view.Details`
924
+ * for the standard object page. Property controllerName of the manifest entry specifies the controller
925
+ * extension to be used. Even if the same template is used more than once, this single controller extension
926
+ * will be instantiated once for each page based on this template. As a consequence, the extension code
927
+ * for all these pages needs to be collected in one controller extension, which results in code that is
928
+ * difficult to maintain.
929
+ * `registerControllerExtensions` provides a tool to distribute the extension code according to pages they
930
+ * are actually used on.
931
+ * To use this tool, you should create separate classes implementing the logic for each single page.
932
+ * All event handlers and formatters used in the view extensions of the corrsponding page should be defined
933
+ * as public instance methods of this class. The same applies to all extension functions that should be
934
+ * overridden by extension code. Each of these classes can contain an optional method `onInit(oController)`.
935
+ *
936
+ * This method can be used to initialize the class as usual. Moreover, it is possible to store `oController`
937
+ * in a member variable. This variable can be used whenever standard controller functionality is needed
938
+ * (e.g. `oController.byId()` or `oController.extensionAPI`.
939
+ * In the definition of the controller extension specified in the manifest, simply call `registerControllerExtensions`.
940
+ */
941
+ registerControllerExtensions(
942
+ /**
943
+ * the name of the controller extension as specified in the manifest
944
+ */
945
+ sControllerExtensionName: undefined,
946
+ /**
947
+ * a map. As a key, use the name of the entity set for which the (controller of the) page should be extended.
948
+ * As a value, use an instance of the corresponding class as described above.
949
+ */
950
+ mEntitySetToImplementation: undefined
951
+ ): void;
952
+ }
953
+ const extensionAPI: extensionAPI;
954
+ export default extensionAPI;
955
+ }
956
+
957
+ declare module "sap/suite/ui/generic/template/extensionAPI/NavigationController" {
958
+ import BaseObject from "sap/ui/base/Object";
959
+
960
+ import Metadata from "sap/ui/base/Metadata";
961
+
962
+ import Context from "sap/ui/model/Context";
963
+
964
+ import { displayMode } from "sap/suite/ui/generic/template/library";
965
+
966
+ export default class NavigationController extends BaseObject {
967
+ /**
968
+ * API to be used for navigation in extensions of Smart Template Applications. Breakout coding can access
969
+ * an instance of this class via {@link sap.suite.ui.generic.template.ListReport.extensionAPI.ExtensionAPI}
970
+ * or {@link sap.suite.ui.generic.template.ObjectPage.extensionAPI.ExtensionAPI}. Do not instantiate yourself.
971
+ */
972
+ constructor();
973
+
974
+ /**
975
+ * Creates a new subclass of class sap.suite.ui.generic.template.extensionAPI.NavigationController with
976
+ * name `sClassName` and enriches it with the information contained in `oClassInfo`.
977
+ *
978
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.Object.extend}.
979
+ *
980
+ * @returns Created class / constructor function
981
+ */
982
+ static extend<T extends Record<string, unknown>>(
983
+ /**
984
+ * Name of the class being created
985
+ */
986
+ sClassName: string,
987
+ /**
988
+ * Object literal with information about the class
989
+ */
990
+ oClassInfo?: sap.ClassInfo<T, NavigationController>,
991
+ /**
992
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
993
+ * used by this class
994
+ */
995
+ FNMetaImpl?: Function
996
+ ): Function;
997
+ /**
998
+ * Returns a metadata object for class sap.suite.ui.generic.template.extensionAPI.NavigationController.
999
+ *
1000
+ * @returns Metadata object describing this class
1001
+ */
1002
+ static getMetadata(): Metadata;
1003
+ /**
1004
+ * Navigates to the given intent
1005
+ */
1006
+ navigateExternal(
1007
+ /**
1008
+ * The name of the outbound defined in the manifest
1009
+ */
1010
+ sOutbound: string,
1011
+ /**
1012
+ * map with parameters for the navigation. If no parameters are provided, default are the parameters defined
1013
+ * in the manifest
1014
+ */
1015
+ mParameters?: object
1016
+ ): void;
1017
+ /**
1018
+ * Triggers a navigation to another page within the application
1019
+ */
1020
+ navigateInternal(
1021
+ /**
1022
+ * The target context for the navigation. vContext as string, to navigate to specified target vContext as
1023
+ * Array [hierarchyOfContext] target context being the last context of hierarchyOfContext E.g to directly
1024
+ * navigate from LR to Sub object page, the hierarchyOfContext would be [contextOfMainObjectPage, contextOfSubObjectPage]
1025
+ * vContext as sap.ui.model.Context if only one context has to be passed, send it as an Object instead of
1026
+ * Array, to navigate to specified Target If the parameter is faulty (and oNavigationData does not specify
1027
+ * a route itself) the root page of the app is considered to be the target of the application.
1028
+ */
1029
+ vContext: Context | string | Context[],
1030
+ /**
1031
+ * object containing navigation data
1032
+ */
1033
+ oNavigationData?: {
1034
+ /**
1035
+ * This property is used if the target of the navigation should be a page which is not configured via an
1036
+ * entity set (thus it is a canvas page). In this case the value of this property should match the name
1037
+ * of the route which was defined in the routingSpec of this page. If the page requires a key, this key
1038
+ * should be added as content of `vContext`, which should be a string in this case.
1039
+ */
1040
+ routeName?: string;
1041
+ /**
1042
+ * If this is truthy the page navigated to will replace the current page in the browser history
1043
+ */
1044
+ replaceInHistory?: boolean;
1045
+ /**
1046
+ * This gives the provision to the application developer to chosse between "display"/"edit" mode for target
1047
+ * page
1048
+ */
1049
+ displayMode?: displayMode | keyof typeof displayMode;
1050
+ /**
1051
+ * This property is only relevant if this instance is obtained from the extension api of a reuse component
1052
+ * (on object page) or an implementing component (of a canvas page) and property routeName is set.
1053
+ * In this case the navigation triggered by this method is by default restricted to child pages of that
1054
+ * component. If the target page of the navigation should be a page which is not a child page of that component
1055
+ * this property should be set to `>true`. In this case the target of the navigation can also be a child
1056
+ * of any of the hierarchical ancestors of the current page. Note that this establishes a strong dependency
1057
+ * from the business logic of that component to the structure of the app. This is problematic if the component
1058
+ * is defined independently of the app.
1059
+ */
1060
+ isAbsolute?: boolean;
1061
+ }
1062
+ ): void;
1063
+ /**
1064
+ * Sets the refresh behaviour of the source application, before navigating away in sap-keep-alive scenarios
1065
+ * using navPopover smart link The refreshStrategyOnAppRestore should be configured in the manifest This
1066
+ * function should be called on the beforeNavigationCallBack method of the NavPopover Smart Link. This function
1067
+ * only needs to be called in the exceptional case that the SmartLink control has been added in a custom
1068
+ * fragment or a reuse component, since framework takes care for all other cases.
1069
+ * See:
1070
+ * {@link topic:3c65f2cc630c472da8328a6f3c193683 Refresh Entity Sets in keep alive mode}
1071
+ */
1072
+ setRefreshBehaviour(
1073
+ /**
1074
+ * the name of the outbound defined in the manifest
1075
+ */
1076
+ sOutbound: string,
1077
+ /**
1078
+ * map with parameters for the navigation. If no parameters are provided, default are the parameters defined
1079
+ * in the manifest
1080
+ */
1081
+ mParameters: object
1082
+ ): void;
1083
+ }
1084
+ }
1085
+
1086
+ declare module "sap/suite/ui/generic/template/extensionAPI/ReuseComponentSupport" {
1087
+ import UIComponent from "sap/ui/core/UIComponent";
1088
+
1089
+ /**
1090
+ * Static access to a function that allows a regular UIComponent to be used as a Reuse Component within
1091
+ * SmartTemplate applications
1092
+ */
1093
+ interface ReuseComponentSupport {
1094
+ /**
1095
+ * Mixin function to transform a regular UIComponent instance into a reuse component for smart templates
1096
+ *
1097
+ * By using the mixInto method the existing component is checked if it implements the following functions:
1098
+ *
1099
+ * - `stStart(oModel, oBindingContext, oExtensionAPI)` - is called when the model and the context is set
1100
+ * for the first time above the compoenent
1101
+ * - `stRefresh(oModel, oBindingContext, oExtensionAPI)` - is called everytime a new context is set above
1102
+ * the component or the page context is forced to be refreshed Note that both functions can be called
1103
+ * with `oBindingContext` being empty. This happens in case the page the component is positioned on is opened
1104
+ * for creating a new object in a non-draft scenario.
1105
+ */
1106
+ mixInto(
1107
+ /**
1108
+ * the component to be transformed. The following restrictions apply to this component:
1109
+ * The object must not define or access any properties or methods starting with `_st`. This namespace is
1110
+ * reserved for smart template specific coding. The object must not define any property or method starting
1111
+ * with `st` with the exception of the methods described above.
1112
+ */
1113
+ oComponent: UIComponent,
1114
+ /**
1115
+ * if this paramater is truthy a JSON model will created that contains the properties defined in the meatdata
1116
+ * of `oComponent`. The model will be attached to the component with the given name. Moreover, a method
1117
+ * `getComponentModel` will be added to `oComponent` giving access to this model. The properties in the
1118
+ * component model will be automatically synced with the corresponding properties of `oComponent`.
1119
+ */
1120
+ sComponentModelName?: string,
1121
+ /**
1122
+ * This parameters specifies the synchronisation between the properties of the component and the corresponding
1123
+ * properties of the component model.
1124
+ * Changes applied to a property of the component will always be forwarded to the corresponding property
1125
+ * of the component model.
1126
+ * Changes applied to a property of the component model which corresponds to a property of the component
1127
+ * will only be forwarded accordingly if the parameter `bTwoWaySync` is truthy.
1128
+ */
1129
+ bTwoWaySync?: boolean
1130
+ ): void;
1131
+ }
1132
+ const ReuseComponentSupport: ReuseComponentSupport;
1133
+ export default ReuseComponentSupport;
1134
+ }
1135
+
1136
+ declare module "sap/suite/ui/generic/template/lib/AppComponent" {
1137
+ import {
1138
+ default as UIComponent,
1139
+ $UIComponentSettings,
1140
+ } from "sap/ui/core/UIComponent";
1141
+
1142
+ import Event from "sap/ui/base/Event";
1143
+
1144
+ import ComponentMetadata from "sap/ui/core/ComponentMetadata";
1145
+
1146
+ import { PropertyBindingInfo } from "sap/ui/base/ManagedObject";
1147
+
1148
+ /**
1149
+ * Smart Templates Application Component
1150
+ */
1151
+ export default class AppComponent extends UIComponent {
1152
+ /**
1153
+ * Main class used for Smart Template(Fiori elements V2) Application Component
1154
+ *
1155
+ * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated
1156
+ * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description
1157
+ * of the syntax of the settings object.
1158
+ */
1159
+ constructor();
1160
+
1161
+ /**
1162
+ * Creates a new subclass of class sap.suite.ui.generic.template.lib.AppComponent with name `sClassName`
1163
+ * and enriches it with the information contained in `oClassInfo`.
1164
+ *
1165
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.UIComponent.extend}.
1166
+ *
1167
+ * @returns Created class / constructor function
1168
+ */
1169
+ static extend<T extends Record<string, unknown>>(
1170
+ /**
1171
+ * Name of the class being created
1172
+ */
1173
+ sClassName: string,
1174
+ /**
1175
+ * Object literal with information about the class
1176
+ */
1177
+ oClassInfo?: sap.ClassInfo<T, AppComponent>,
1178
+ /**
1179
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
1180
+ * used by this class
1181
+ */
1182
+ FNMetaImpl?: Function
1183
+ ): Function;
1184
+ /**
1185
+ * Returns a metadata object for class sap.suite.ui.generic.template.lib.AppComponent.
1186
+ *
1187
+ * @returns Metadata object describing this class
1188
+ */
1189
+ static getMetadata(): ComponentMetadata;
1190
+ /**
1191
+ * Attaches event handler `fnFunction` to the {@link #event:pageDataLoaded pageDataLoaded} event of this
1192
+ * `sap.suite.ui.generic.template.lib.AppComponent`.
1193
+ *
1194
+ * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified,
1195
+ * otherwise it will be bound to this `sap.suite.ui.generic.template.lib.AppComponent` itself.
1196
+ *
1197
+ * @returns Reference to `this` in order to allow method chaining
1198
+ */
1199
+ attachPageDataLoaded(
1200
+ /**
1201
+ * An application-specific payload object that will be passed to the event handler along with the event
1202
+ * object when firing the event
1203
+ */
1204
+ oData: object,
1205
+ /**
1206
+ * The function to be called when the event occurs
1207
+ */
1208
+ fnFunction: (p1: Event) => void,
1209
+ /**
1210
+ * Context object to call the event handler with. Defaults to this `sap.suite.ui.generic.template.lib.AppComponent`
1211
+ * itself
1212
+ */
1213
+ oListener?: object
1214
+ ): this;
1215
+ /**
1216
+ * Attaches event handler `fnFunction` to the {@link #event:pageDataLoaded pageDataLoaded} event of this
1217
+ * `sap.suite.ui.generic.template.lib.AppComponent`.
1218
+ *
1219
+ * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified,
1220
+ * otherwise it will be bound to this `sap.suite.ui.generic.template.lib.AppComponent` itself.
1221
+ *
1222
+ * @returns Reference to `this` in order to allow method chaining
1223
+ */
1224
+ attachPageDataLoaded(
1225
+ /**
1226
+ * The function to be called when the event occurs
1227
+ */
1228
+ fnFunction: (p1: Event) => void,
1229
+ /**
1230
+ * Context object to call the event handler with. Defaults to this `sap.suite.ui.generic.template.lib.AppComponent`
1231
+ * itself
1232
+ */
1233
+ oListener?: object
1234
+ ): this;
1235
+ /**
1236
+ * Detaches event handler `fnFunction` from the {@link #event:pageDataLoaded pageDataLoaded} event of this
1237
+ * `sap.suite.ui.generic.template.lib.AppComponent`.
1238
+ *
1239
+ * The passed function and listener object must match the ones used for event registration.
1240
+ *
1241
+ * @returns Reference to `this` in order to allow method chaining
1242
+ */
1243
+ detachPageDataLoaded(
1244
+ /**
1245
+ * The function to be called, when the event occurs
1246
+ */
1247
+ fnFunction: (p1: Event) => void,
1248
+ /**
1249
+ * Context object on which the given function had to be called
1250
+ */
1251
+ oListener?: object
1252
+ ): this;
1253
+ /**
1254
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1255
+ *
1256
+ * Fires event {@link #event:pageDataLoaded pageDataLoaded} to attached listeners.
1257
+ *
1258
+ * @returns Reference to `this` in order to allow method chaining
1259
+ */
1260
+ firePageDataLoaded(
1261
+ /**
1262
+ * Parameters to pass along with the event
1263
+ */
1264
+ mParameters?: object
1265
+ ): this;
1266
+ /**
1267
+ * Gets current value of property {@link #getConsiderAnalyticalParameters considerAnalyticalParameters}.
1268
+ *
1269
+ * Default value is `false`.
1270
+ *
1271
+ * @returns Value of property `considerAnalyticalParameters`
1272
+ */
1273
+ getConsiderAnalyticalParameters(): boolean;
1274
+ /**
1275
+ * Gets current value of property {@link #getDraftDiscardConfirmationSettings draftDiscardConfirmationSettings}.
1276
+ *
1277
+ * Default value is `...see text or source`.
1278
+ *
1279
+ * @returns Value of property `draftDiscardConfirmationSettings`
1280
+ */
1281
+ getDraftDiscardConfirmationSettings(): object;
1282
+ /**
1283
+ * Gets current value of property {@link #getEnableAutoColumnWidthForSmartTable enableAutoColumnWidthForSmartTable}.
1284
+ *
1285
+ * Default value is `true`.
1286
+ *
1287
+ * @returns Value of property `enableAutoColumnWidthForSmartTable`
1288
+ */
1289
+ getEnableAutoColumnWidthForSmartTable(): boolean;
1290
+ /**
1291
+ * Gets current value of property {@link #getFlexibleColumnLayout flexibleColumnLayout}.
1292
+ *
1293
+ * @returns Value of property `flexibleColumnLayout`
1294
+ */
1295
+ getFlexibleColumnLayout(): object;
1296
+ /**
1297
+ * Gets current value of property {@link #getForceGlobalRefresh forceGlobalRefresh}.
1298
+ *
1299
+ * Default value is `false`.
1300
+ *
1301
+ * @returns Value of property `forceGlobalRefresh`
1302
+ */
1303
+ getForceGlobalRefresh(): boolean;
1304
+ /**
1305
+ * Gets current value of property {@link #getInboundParameters inboundParameters}.
1306
+ *
1307
+ * @returns Value of property `inboundParameters`
1308
+ */
1309
+ getInboundParameters(): object;
1310
+ /**
1311
+ * Gets current value of property {@link #getObjectPageColumns objectPageColumns}.
1312
+ *
1313
+ * @returns Value of property `objectPageColumns`
1314
+ */
1315
+ getObjectPageColumns(): object;
1316
+ /**
1317
+ * Gets current value of property {@link #getObjectPageHeaderType objectPageHeaderType}.
1318
+ *
1319
+ * Default value is `"Static"`.
1320
+ *
1321
+ * @returns Value of property `objectPageHeaderType`
1322
+ */
1323
+ getObjectPageHeaderType(): string;
1324
+ /**
1325
+ * Gets current value of property {@link #getObjectPageVariantManagement objectPageVariantManagement}.
1326
+ *
1327
+ * Default value is `"None"`.
1328
+ *
1329
+ * @returns Value of property `objectPageVariantManagement`
1330
+ */
1331
+ getObjectPageVariantManagement(): string;
1332
+ /**
1333
+ * Gets current value of property {@link #getShowDraftToggle showDraftToggle}.
1334
+ *
1335
+ * Default value is `true`.
1336
+ *
1337
+ * @returns Value of property `showDraftToggle`
1338
+ */
1339
+ getShowDraftToggle(): boolean;
1340
+ /**
1341
+ * Gets current value of property {@link #getStatePreservationMode statePreservationMode}.
1342
+ *
1343
+ * Default value is `"auto"`.
1344
+ *
1345
+ * @returns Value of property `statePreservationMode`
1346
+ */
1347
+ getStatePreservationMode(): string;
1348
+ /**
1349
+ * Gets current value of property {@link #getTableColumnVerticalAlignment tableColumnVerticalAlignment}.
1350
+ *
1351
+ * Default value is `"Middle"`.
1352
+ *
1353
+ * @returns Value of property `tableColumnVerticalAlignment`
1354
+ */
1355
+ getTableColumnVerticalAlignment(): string;
1356
+ /**
1357
+ * Gets current value of property {@link #getUseColumnLayoutForSmartForm useColumnLayoutForSmartForm}.
1358
+ *
1359
+ * Default value is `true`.
1360
+ *
1361
+ * @returns Value of property `useColumnLayoutForSmartForm`
1362
+ */
1363
+ getUseColumnLayoutForSmartForm(): boolean;
1364
+ /**
1365
+ * Sets a new value for property {@link #getConsiderAnalyticalParameters considerAnalyticalParameters}.
1366
+ *
1367
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1368
+ *
1369
+ * Default value is `false`.
1370
+ *
1371
+ * @returns Reference to `this` in order to allow method chaining
1372
+ */
1373
+ setConsiderAnalyticalParameters(
1374
+ /**
1375
+ * New value for property `considerAnalyticalParameters`
1376
+ */
1377
+ bConsiderAnalyticalParameters?: boolean
1378
+ ): this;
1379
+ /**
1380
+ * Sets a new value for property {@link #getDraftDiscardConfirmationSettings draftDiscardConfirmationSettings}.
1381
+ *
1382
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1383
+ *
1384
+ * Default value is `...see text or source`.
1385
+ *
1386
+ * @returns Reference to `this` in order to allow method chaining
1387
+ */
1388
+ setDraftDiscardConfirmationSettings(
1389
+ /**
1390
+ * New value for property `draftDiscardConfirmationSettings`
1391
+ */
1392
+ oDraftDiscardConfirmationSettings?: object
1393
+ ): this;
1394
+ /**
1395
+ * Sets a new value for property {@link #getEnableAutoColumnWidthForSmartTable enableAutoColumnWidthForSmartTable}.
1396
+ *
1397
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1398
+ *
1399
+ * Default value is `true`.
1400
+ *
1401
+ * @returns Reference to `this` in order to allow method chaining
1402
+ */
1403
+ setEnableAutoColumnWidthForSmartTable(
1404
+ /**
1405
+ * New value for property `enableAutoColumnWidthForSmartTable`
1406
+ */
1407
+ bEnableAutoColumnWidthForSmartTable?: boolean
1408
+ ): this;
1409
+ /**
1410
+ * Sets a new value for property {@link #getFlexibleColumnLayout flexibleColumnLayout}.
1411
+ *
1412
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1413
+ *
1414
+ * @returns Reference to `this` in order to allow method chaining
1415
+ */
1416
+ setFlexibleColumnLayout(
1417
+ /**
1418
+ * New value for property `flexibleColumnLayout`
1419
+ */
1420
+ oFlexibleColumnLayout?: object
1421
+ ): this;
1422
+ /**
1423
+ * Sets a new value for property {@link #getForceGlobalRefresh forceGlobalRefresh}.
1424
+ *
1425
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1426
+ *
1427
+ * Default value is `false`.
1428
+ *
1429
+ * @returns Reference to `this` in order to allow method chaining
1430
+ */
1431
+ setForceGlobalRefresh(
1432
+ /**
1433
+ * New value for property `forceGlobalRefresh`
1434
+ */
1435
+ bForceGlobalRefresh?: boolean
1436
+ ): this;
1437
+ /**
1438
+ * Sets a new value for property {@link #getInboundParameters inboundParameters}.
1439
+ *
1440
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1441
+ *
1442
+ * @returns Reference to `this` in order to allow method chaining
1443
+ */
1444
+ setInboundParameters(
1445
+ /**
1446
+ * New value for property `inboundParameters`
1447
+ */
1448
+ oInboundParameters?: object
1449
+ ): this;
1450
+ /**
1451
+ * Sets a new value for property {@link #getObjectPageColumns objectPageColumns}.
1452
+ *
1453
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1454
+ *
1455
+ * @returns Reference to `this` in order to allow method chaining
1456
+ */
1457
+ setObjectPageColumns(
1458
+ /**
1459
+ * New value for property `objectPageColumns`
1460
+ */
1461
+ oObjectPageColumns: object
1462
+ ): this;
1463
+ /**
1464
+ * Sets a new value for property {@link #getObjectPageHeaderType objectPageHeaderType}.
1465
+ *
1466
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1467
+ *
1468
+ * Default value is `"Static"`.
1469
+ *
1470
+ * @returns Reference to `this` in order to allow method chaining
1471
+ */
1472
+ setObjectPageHeaderType(
1473
+ /**
1474
+ * New value for property `objectPageHeaderType`
1475
+ */
1476
+ sObjectPageHeaderType?: string
1477
+ ): this;
1478
+ /**
1479
+ * Sets a new value for property {@link #getObjectPageVariantManagement objectPageVariantManagement}.
1480
+ *
1481
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1482
+ *
1483
+ * Default value is `"None"`.
1484
+ *
1485
+ * @returns Reference to `this` in order to allow method chaining
1486
+ */
1487
+ setObjectPageVariantManagement(
1488
+ /**
1489
+ * New value for property `objectPageVariantManagement`
1490
+ */
1491
+ sObjectPageVariantManagement?: string
1492
+ ): this;
1493
+ /**
1494
+ * Sets a new value for property {@link #getShowDraftToggle showDraftToggle}.
1495
+ *
1496
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1497
+ *
1498
+ * Default value is `true`.
1499
+ *
1500
+ * @returns Reference to `this` in order to allow method chaining
1501
+ */
1502
+ setShowDraftToggle(
1503
+ /**
1504
+ * New value for property `showDraftToggle`
1505
+ */
1506
+ bShowDraftToggle?: boolean
1507
+ ): this;
1508
+ /**
1509
+ * Sets a new value for property {@link #getStatePreservationMode statePreservationMode}.
1510
+ *
1511
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1512
+ *
1513
+ * Default value is `"auto"`.
1514
+ *
1515
+ * @returns Reference to `this` in order to allow method chaining
1516
+ */
1517
+ setStatePreservationMode(
1518
+ /**
1519
+ * New value for property `statePreservationMode`
1520
+ */
1521
+ sStatePreservationMode?: string
1522
+ ): this;
1523
+ /**
1524
+ * Sets a new value for property {@link #getTableColumnVerticalAlignment tableColumnVerticalAlignment}.
1525
+ *
1526
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1527
+ *
1528
+ * Default value is `"Middle"`.
1529
+ *
1530
+ * @returns Reference to `this` in order to allow method chaining
1531
+ */
1532
+ setTableColumnVerticalAlignment(
1533
+ /**
1534
+ * New value for property `tableColumnVerticalAlignment`
1535
+ */
1536
+ sTableColumnVerticalAlignment?: string
1537
+ ): this;
1538
+ /**
1539
+ * Sets a new value for property {@link #getUseColumnLayoutForSmartForm useColumnLayoutForSmartForm}.
1540
+ *
1541
+ * When called with a value of `null` or `undefined`, the default value of the property will be restored.
1542
+ *
1543
+ * Default value is `true`.
1544
+ *
1545
+ * @returns Reference to `this` in order to allow method chaining
1546
+ */
1547
+ setUseColumnLayoutForSmartForm(
1548
+ /**
1549
+ * New value for property `useColumnLayoutForSmartForm`
1550
+ */
1551
+ bUseColumnLayoutForSmartForm?: boolean
1552
+ ): this;
1553
+ }
1554
+
1555
+ export interface $AppComponentSettings extends $UIComponentSettings {
1556
+ forceGlobalRefresh?: boolean | PropertyBindingInfo | `{${string}}`;
1557
+
1558
+ considerAnalyticalParameters?:
1559
+ | boolean
1560
+ | PropertyBindingInfo
1561
+ | `{${string}}`;
1562
+
1563
+ showDraftToggle?: boolean | PropertyBindingInfo | `{${string}}`;
1564
+
1565
+ objectPageHeaderType?: string | PropertyBindingInfo;
1566
+
1567
+ objectPageVariantManagement?: string | PropertyBindingInfo;
1568
+
1569
+ flexibleColumnLayout?: object | PropertyBindingInfo | `{${string}}`;
1570
+
1571
+ inboundParameters?: object | PropertyBindingInfo | `{${string}}`;
1572
+
1573
+ tableColumnVerticalAlignment?: string | PropertyBindingInfo;
1574
+
1575
+ useColumnLayoutForSmartForm?: boolean | PropertyBindingInfo | `{${string}}`;
1576
+
1577
+ objectPageColumns?: object | PropertyBindingInfo | `{${string}}`;
1578
+
1579
+ statePreservationMode?: string | PropertyBindingInfo;
1580
+
1581
+ enableAutoColumnWidthForSmartTable?:
1582
+ | boolean
1583
+ | PropertyBindingInfo
1584
+ | `{${string}}`;
1585
+
1586
+ draftDiscardConfirmationSettings?:
1587
+ | object
1588
+ | PropertyBindingInfo
1589
+ | `{${string}}`;
1590
+
1591
+ pageDataLoaded?: (oEvent: Event) => void;
1592
+ }
1593
+ }
1594
+
1595
+ declare module "sap/suite/ui/generic/template/ListReport/controllerFrameworkExtensions" {
1596
+ import SelectionVariant from "sap/ui/generic/app/navigation/service/SelectionVariant";
1597
+
1598
+ import SmartFilterBar from "sap/ui/comp/smartfilterbar/SmartFilterBar";
1599
+
1600
+ import Filter from "sap/ui/export/util/Filter";
1601
+
1602
+ import Event from "sap/ui/base/Event";
1603
+
1604
+ import Context from "sap/ui/model/Context";
1605
+
1606
+ /**
1607
+ * This class contains all extension functions that can be implemented by Application developers in their
1608
+ * extension code. Application developers should not override any methods outside this documentation.
1609
+ */
1610
+ interface controllerFrameworkExtensions {
1611
+ /**
1612
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1613
+ *
1614
+ * Obsolete and not called anymore. Kept here to avoid conflicts (in the very unlikely case, Fiori elements
1615
+ * would come up with the idea to invent a new extension method with the exact same name some day in future,
1616
+ * and any application would still have an implementation for this old extension).
1617
+ *
1618
+ * (Original purpose: When (standard) filters (i.e. filters defined in annotations) are provided with default
1619
+ * values (also from the annotation), and the user actively removed the default without giving a new value,
1620
+ * and later tried to restore from that state, the default values were reappearing. This was caused by the
1621
+ * way the old API of SFB (getDataSuiteFormat and setDataSuiteFormat) worked: the get method returned only
1622
+ * select options for the filters that actually had values (i.e. no select option for the filters the user
1623
+ * removed the values from), and the set method only overrode those values, select options were provided
1624
+ * for (i.e. the missing ones just kept their default value set during initialization). To overcome this
1625
+ * problem, the extension was created to inform Fiori elements about all fields potentially running into
1626
+ * that problem, and we added a select option (I EQ "") for those fields. This workaround of course ahs
1627
+ * two severe problems: A filter with eq "" is not the same as not having a filter for the same field (rather
1628
+ * the opposite), and all applications were required to keep extension and annotations in sync (and missing
1629
+ * to do that would only be found in very exceptional cases). With the newer API of SFB (getUiState and
1630
+ * setUiState), this problem has been overcome (esp. as setUiState overrides all filters, not only the ones
1631
+ * provided).)
1632
+ */
1633
+ getVisibleSelectionsWithDefaults: undefined;
1634
+
1635
+ /**
1636
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1637
+ *
1638
+ * This method is called by SAP Fiori elements before triggering an external navigation. Application developers
1639
+ * can override this method and programmatically adapt the parameters which are passed to the target application.
1640
+ * Application developers can use the oObjectInfo parameter to identify the navigation context and modify
1641
+ * the oSelectionVariant which contains the navigation parameters.
1642
+ */
1643
+ adaptNavigationParameterExtension(
1644
+ /**
1645
+ * Selection variant object containing the information which needs to be passed to the target application
1646
+ */
1647
+ oSelectionVariant: SelectionVariant,
1648
+ /**
1649
+ * Context object based on which the intent based navigation is triggered
1650
+ */
1651
+ oObjectInfo: {
1652
+ /**
1653
+ * Semantic object used for the intend based navigation
1654
+ */
1655
+ semanticObject: string;
1656
+ /**
1657
+ * Action on the context for which the navigation is triggered
1658
+ */
1659
+ action: string;
1660
+ }
1661
+ ): void;
1662
+ /**
1663
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1664
+ *
1665
+ * This method is called by SAP Fiori elements whenever the busy state is switched off. Application developers
1666
+ * can override this method, access the message model and adapt the transient messages related to the component.
1667
+ */
1668
+ adaptTransientMessageExtension(): void;
1669
+ /**
1670
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1671
+ *
1672
+ * This method is called by SAP Fiori elements when the delete operation is triggered. Application developers
1673
+ * can override this method in controller extension & perform additional checks before executing the delete
1674
+ * operation. Method is expected to return a Promise. To veto the delete operation, promise needs to be
1675
+ * rejected else resolved.
1676
+ *
1677
+ * @returns - Promise object created by the extension, used for Delete operation chaining
1678
+ */
1679
+ beforeDeleteExtension(
1680
+ /**
1681
+ * Object containing the selected context for delete
1682
+ */
1683
+ oBeforeDeleteProperties: {
1684
+ /**
1685
+ * Array of the selected contexts
1686
+ */
1687
+ aContexts: any[];
1688
+ }
1689
+ ): Promise<any>;
1690
+ /**
1691
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1692
+ *
1693
+ * This method should be implemented whenever the application needs to have a custom save functionality
1694
+ * for multi edit scenario. The logic for save should be defined here and this method should return a promise
1695
+ * based on whose resolution or rejection the framework would perform cleanup tasks like closing the dialog
1696
+ * and refreshing the table data.There will be no chaining of multi edit save from the framework, if the
1697
+ * extension is implemented then the framework will only execute extension code for save.
1698
+ *
1699
+ * @returns - Promise object created by the extension, used for cleanup after the promise is resolved or
1700
+ * rejected.
1701
+ */
1702
+ beforeMultiEditSaveExtension(
1703
+ /**
1704
+ * The array of objects containing the contexts to be updated and the updated value.
1705
+ */
1706
+ aContextsToBeUpdated: Array<{
1707
+ /**
1708
+ * The context path for the child to be updated.
1709
+ */
1710
+ sContextPath: string;
1711
+ /**
1712
+ * The Object with the updated values for the selected properties in the multi edit dialog.
1713
+ */
1714
+ oUpdateData: Object;
1715
+ }>
1716
+ ): Promise<any>;
1717
+ /**
1718
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1719
+ *
1720
+ * This method is called by SAP Fiori elements when a smart link in a table is clicked. Application developers
1721
+ * can override this method and invoke the oParams.getSourceInfo method to find out the information about
1722
+ * the clicked smart link.
1723
+ *
1724
+ * If the application expect the framework should not handle the `beforePopoverOpens` event, then this method
1725
+ * should return true. Otherwise, framework will proceed with its handling.
1726
+ *
1727
+ * @returns Method should return `true` if framework should not handle `beforePopoverOpens` event (that
1728
+ * means: extension code will handle the event)
1729
+ */
1730
+ beforeSmartLinkPopoverOpensExtension(
1731
+ /**
1732
+ * Object containing the "getSourceInfo" method and the selection variant
1733
+ */
1734
+ oParams: {
1735
+ /**
1736
+ * Selection variant object containing the information which needs to be passed to the target application
1737
+ */
1738
+ oSelectionVariant: SelectionVariant;
1739
+ /**
1740
+ * Returns an object contains information about the smart link
1741
+ */
1742
+ getSourceInfo?: Function;
1743
+ }
1744
+ ): boolean;
1745
+ /**
1746
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1747
+ *
1748
+ * This method is called by SAP Fiori elements before persisting the AppState. Application developers can
1749
+ * override this method for persisting the state of custom controls. State of the custom control (controls)
1750
+ * should be stored in the oCustomData passed as a parameter to this method. To make a complete functionality,
1751
+ * this method should be overridden in combination with `restoreCustomAppStateDataExtension`.
1752
+ *
1753
+ * In some cases, applications might need to inform the framework about changes to their state by calling
1754
+ * {@link sap.suite.ui.generic.template.ListReport.extensionAPI.onCustomAppStateChange onCustomAppStateChange}.
1755
+ * For custom filters added to the filter bar, this should not be necessary.
1756
+ *
1757
+ * Remark: The term AppState actually relates to the UI state of the List Report. It is usually stored in
1758
+ * the layered repository, and can be retrieved via the key, that is added as value of the URL parameter
1759
+ * iAppState. (Although the value of the URL parameter xAppState used in navigation scenarios also points
1760
+ * to data stored on the layered repository, in contrast to the iAppState it has nothing to do with the
1761
+ * state of the app - conceptually, it is just a container for passing data from source to target during
1762
+ * navigation. The confusion arises from the fact, that per definition the source app should provide all
1763
+ * data available (to allow the target app to select the part it is interested in), and thus the structure
1764
+ * contained looks quite similar to the iAppState.)
1765
+ *
1766
+ * For more information, see {@link topic:5fb9f57fcf12401bbe39a635e9a32a4e Adding Custom Fields to the Filter
1767
+ * Bar}.
1768
+ */
1769
+ getCustomAppStateDataExtension(
1770
+ /**
1771
+ * Object to be enriched with the custom control state
1772
+ */
1773
+ oCustomData: object
1774
+ ): void;
1775
+ /**
1776
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1777
+ *
1778
+ * This method is called by SAP Fiori elements when the Create with Filters is executed. Application developers
1779
+ * can enable this feature in the LR component by adding createWithFilters in the settings object of the
1780
+ * List Report component & strategy needs to be set as `extension`. SmartFilterBar instance will be passed
1781
+ * as a parameter to the method. Application developers can access the properties, values and add it to
1782
+ * the returning object map. Application developers will have complete control on properties passed to the
1783
+ * new instance creation.
1784
+ *
1785
+ * @returns Key/Value map of the properties
1786
+ */
1787
+ getPredefinedValuesForCreateExtension(
1788
+ /**
1789
+ * SmartFilterBar of the ListReport
1790
+ */
1791
+ oSmartFilterBar: SmartFilterBar,
1792
+ /**
1793
+ * Default values returned by backend when Common.v1.DefaultValuesFunction annotation has been configured
1794
+ */
1795
+ oDefaultValues: object
1796
+ ): Map<any, any>;
1797
+ /**
1798
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1799
+ *
1800
+ * This method is called by SAP Fiori elements in the startup life cycle of a component. Application developers
1801
+ * can override this method and modify the startup object. For an example, when the application is started,
1802
+ * the selection variant might contain some properties that are not required for this app. Such properties
1803
+ * can be removed from the selection variant. The reverse use case is also true, where some additional properties
1804
+ * needs to be added with certain fixed values. This can be achieved by adding these values to the selection
1805
+ * variant.
1806
+ */
1807
+ modifyStartupExtension(
1808
+ /**
1809
+ * Startup Object containing the initial contexts
1810
+ */
1811
+ oStartupObject: {
1812
+ /**
1813
+ * information whether the application was triggered via external navigation
1814
+ */
1815
+ viaExternalNavigation: boolean;
1816
+ /**
1817
+ * Selection Variant containing the values which needs to be applied to the smart filter bar
1818
+ */
1819
+ selectionVariant: SelectionVariant;
1820
+ /**
1821
+ * Semantic dates configuration in the manifest is read an assigned in this object
1822
+ */
1823
+ semanticDates: object;
1824
+ /**
1825
+ * if switching between different table views is enabled, the key which will be initially selected
1826
+ */
1827
+ selectedQuickVariantSelectionKey: string;
1828
+ }
1829
+ ): void;
1830
+ /**
1831
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1832
+ *
1833
+ * This method is called by SAP Fiori elements when the table data is getting exported. Application developers
1834
+ * can override this method to add/remove the filters in the exported file.
1835
+ *
1836
+ * To add new filter entries to the exported file, create an instance of {@link sap.ui.export.util.Filter}
1837
+ * and add it to "oExportParams.filterSettings"
1838
+ */
1839
+ onBeforeExportTableExtension(
1840
+ /**
1841
+ * Object containing the table export info
1842
+ */
1843
+ oExportParams: {
1844
+ /**
1845
+ * The filters in the exported file Note: Please make changes on "oExportParams.filterSettings" array only
1846
+ * when "Include filter settings" is selected. Otherwise, the changes will be ignored.
1847
+ */
1848
+ filterSettings: Filter[];
1849
+ /**
1850
+ * The value of "Include filter settings" checkbox
1851
+ */
1852
+ includeFilterSettings: boolean;
1853
+ }
1854
+ ): void;
1855
+ /**
1856
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1857
+ *
1858
+ * This method is called by SAP Fiori elements before binding a chart. Application developers can override
1859
+ * this method and programmatically modify parameters or filters before chart triggers a query to retrieve
1860
+ * data.
1861
+ *
1862
+ * For more information, see {@link topic:5fb9f57fcf12401bbe39a635e9a32a4e Adding Custom Fields to the Filter
1863
+ * Bar}.
1864
+ *
1865
+ * **Note: **This method is called only when a chart is rebound, and not when it is refreshed.
1866
+ */
1867
+ onBeforeRebindChartExtension(
1868
+ /**
1869
+ * The {@link sap.ui.comp.smartchart.SmartChart.prototype.event:beforeRebindChart beforeRebindChart} event
1870
+ */
1871
+ oEvent: Event
1872
+ ): void;
1873
+ /**
1874
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1875
+ *
1876
+ * This method is called by SAP Fiori elements before binding a table. Application developers can override
1877
+ * this method and programmatically modify parameters or filters before the table triggers a query to retrieve
1878
+ * data.
1879
+ *
1880
+ * For more information, see {@link topic:5fb9f57fcf12401bbe39a635e9a32a4e Adding Custom Fields to the Filter
1881
+ * Bar}.
1882
+ *
1883
+ * **Note: **This method is called only when a table is rebound, and not when it is refreshed.
1884
+ */
1885
+ onBeforeRebindTableExtension(
1886
+ /**
1887
+ * The {@link sap.ui.comp.smarttable.SmartTable.prototype.event:beforeRebindTable beforeRebindTable} event
1888
+ */
1889
+ oEvent: Event
1890
+ ): void;
1891
+ /**
1892
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1893
+ *
1894
+ * This method should be implemented whenever application uses onListNavigationExtension for internal navigation.
1895
+ * In this case the implementation of this method should provide an 'inverse' mapping to the transformation
1896
+ * implemented within onListNavigationExtension. More precisely, the identification of a child page instance
1897
+ * is passed to this function. The implementation of this function should provide information about the
1898
+ * list item which has triggered the opening of the child page.
1899
+ */
1900
+ onChildOpenedExtension(
1901
+ /**
1902
+ * Information about the child page instance opened last
1903
+ */
1904
+ oSelectionInfo: {
1905
+ /**
1906
+ * The entity set identifying the child page which was opened last. Note: In case the child page has been
1907
+ * defined without reference to OData this will be the routeName taken from the routingSpec.
1908
+ */
1909
+ pageEntitySet?: string;
1910
+ /**
1911
+ * The context path that was used for the last opened child page
1912
+ */
1913
+ path?: string;
1914
+ /**
1915
+ * The array of keys (one on each hiearchy level) used for the last opened child page
1916
+ */
1917
+ keys?: string[];
1918
+ },
1919
+ /**
1920
+ * pass the binding path of the corresponding list item to this function if it is not identical to `oSelectionInfo.path`
1921
+ */
1922
+ fnSetPath: Function
1923
+ ): void;
1924
+ /**
1925
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1926
+ *
1927
+ * This method is called by SAP Fiori elements on the initialization of View. Application developers can
1928
+ * override this method & perform internal setup in this hook, It is only called once per View instance.
1929
+ */
1930
+ onInit(): void;
1931
+ /**
1932
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1933
+ *
1934
+ * This method is called by SAP Fiori elements once the smart filter bar is initialized with a variant.
1935
+ *
1936
+ * Application developers can override this method when there is a custom filter field bound outside the
1937
+ * standard model.
1938
+ *
1939
+ * Use this method to provide initial values for your extension filters if they deviate from the initial
1940
+ * value according to the data type and cannot be provided in the view fragment.
1941
+ *
1942
+ * For more information, see {@link topic:5fb9f57fcf12401bbe39a635e9a32a4e Adding Custom Fields to the Filter
1943
+ * Bar}.
1944
+ */
1945
+ onInitSmartFilterBarExtension(
1946
+ /**
1947
+ * The {@link sap.ui.comp.filterbar.FilterBar.prototype.event:initialise initialise} event
1948
+ */
1949
+ oEvent: Event
1950
+ ): void;
1951
+ /**
1952
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1953
+ *
1954
+ * This method is called when the user leaves the app and this page has been displayed within the same app
1955
+ * session (this is the time since last opening the app) at least once. Moreover, it is called for all pages
1956
+ * that have been displayed within some app session when the app is finally destroyed.
1957
+ *
1958
+ * @returns - Only relevant in case that `isDestroyed` is false. In this case Application developers can
1959
+ * provide a function to be called when the same page is opened again (after the user has navigated back
1960
+ * to the app).
1961
+ */
1962
+ onLeaveAppExtension(
1963
+ /**
1964
+ * If this parameter is true this app instance is destroyed. Otherwise it might be rewoken if the user navigates
1965
+ * again to this app within the same FLP session
1966
+ */
1967
+ bIsDestroyed: boolean
1968
+ ): Function;
1969
+ /**
1970
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1971
+ *
1972
+ * This method is called by SAP Fiori elements when a chevron navigation is triggered from a table. Application
1973
+ * developers can override this method and perform conditional (internal or external) navigation from different
1974
+ * rows of a table. Such custom navigation should be triggered via corresponding methods of {@link sap.suite.ui.generic.template.extensionAPI.NavigationController
1975
+ * NavigationController}.
1976
+ *
1977
+ * @returns Method should return `true` if framework navigation should be suppressed (that means: extension
1978
+ * code has taken over navigation)
1979
+ */
1980
+ onListNavigationExtension(
1981
+ /**
1982
+ * The press event fired when navigating from a row in the SmartTable. It is recommended to ignore this
1983
+ * parameter and use `oBindingContext` instead
1984
+ */
1985
+ oEvent: Event,
1986
+ /**
1987
+ * The context of the corresponding table row
1988
+ */
1989
+ oBindingContext: Context,
1990
+ /**
1991
+ * This parameter should be considered if the method triggers an internal navigation. Pass this parameter
1992
+ * to `oNavigationData.replaceInHistory` in this case
1993
+ */
1994
+ bReplaceInHistory: boolean
1995
+ ): boolean;
1996
+ /**
1997
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
1998
+ *
1999
+ * This method is called by SAP Fiori elements when the Share functionality is triggered. Application developers
2000
+ * can adapt the service URL passed as a parameter to this method. Adapted service URL will be used in the
2001
+ * 'Send Email' or 'Save as Tile' options.
2002
+ */
2003
+ onSaveAsTileExtension(
2004
+ /**
2005
+ * Object containing the serviceURL
2006
+ */
2007
+ oShareInfo: {
2008
+ /**
2009
+ * Service URL which is derived by SAP Fiori elements
2010
+ */
2011
+ serviceUrl: string;
2012
+ }
2013
+ ): void;
2014
+ /**
2015
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2016
+ *
2017
+ * This method is called by SAP Fiori elements while applying the AppState. This method should be overridden
2018
+ * in combination with `getCustomAppStateDataExtension`. The custom data retrieved from the AppState will
2019
+ * be passed as a parameter to this method. Application developers can use this custom data to restore the
2020
+ * state of the custom control.
2021
+ *
2022
+ * Note: Application developers need to be aware that this method is also called during startup without
2023
+ * restoring from an iAppState (initial startup or navigation). In this case, an empty object is provided.
2024
+ * Originally, this happened unintended, but needs to be kept for compatibility, as it has been used by
2025
+ * some applications to enforce specific filter values (contradicting the defined way navigation should
2026
+ * work). This usage is not recommended! Recommended: When called with an empty object, just return without
2027
+ * doing anything.
2028
+ *
2029
+ * For more information, see {@link topic:5fb9f57fcf12401bbe39a635e9a32a4e Adding Custom Fields to the Filter
2030
+ * Bar}.
2031
+ */
2032
+ restoreCustomAppStateDataExtension(
2033
+ /**
2034
+ * Custom data containing the information
2035
+ */
2036
+ oCustomData: object
2037
+ ): void;
2038
+ }
2039
+ const controllerFrameworkExtensions: controllerFrameworkExtensions;
2040
+ export default controllerFrameworkExtensions;
2041
+ }
2042
+
2043
+ declare module "sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI" {
2044
+ import BaseObject from "sap/ui/base/Object";
2045
+
2046
+ import Control from "sap/ui/core/Control";
2047
+
2048
+ import Metadata from "sap/ui/base/Metadata";
2049
+
2050
+ import NavigationController from "sap/suite/ui/generic/template/extensionAPI/NavigationController";
2051
+
2052
+ import Context from "sap/ui/model/Context";
2053
+
2054
+ import NonDraftTransactionController from "sap/suite/ui/generic/template/ListReport/extensionAPI/NonDraftTransactionController";
2055
+
2056
+ export default class ExtensionAPI extends BaseObject {
2057
+ /**
2058
+ * API to be used in extensions of ListReport. Breakout coding can access an instance of this class via
2059
+ * `this.extensionAPI`. Do not instantiate yourself.
2060
+ */
2061
+ constructor();
2062
+
2063
+ /**
2064
+ * Creates a new subclass of class sap.suite.ui.generic.template.ListReport.extensionAPI.ExtensionAPI with
2065
+ * name `sClassName` and enriches it with the information contained in `oClassInfo`.
2066
+ *
2067
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.Object.extend}.
2068
+ *
2069
+ * @returns Created class / constructor function
2070
+ */
2071
+ static extend<T extends Record<string, unknown>>(
2072
+ /**
2073
+ * Name of the class being created
2074
+ */
2075
+ sClassName: string,
2076
+ /**
2077
+ * Object literal with information about the class
2078
+ */
2079
+ oClassInfo?: sap.ClassInfo<T, ExtensionAPI>,
2080
+ /**
2081
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
2082
+ * used by this class
2083
+ */
2084
+ FNMetaImpl?: Function
2085
+ ): Function;
2086
+ /**
2087
+ * Returns a metadata object for class sap.suite.ui.generic.template.ListReport.extensionAPI.ExtensionAPI.
2088
+ *
2089
+ * @returns Metadata object describing this class
2090
+ */
2091
+ static getMetadata(): Metadata;
2092
+ /**
2093
+ * Attaches a control to the current View. Should be called whenever a new control is created and used in
2094
+ * the context of this view. This applies especially for dialogs, action sheets, popovers, ... This method
2095
+ * cares for defining dependency and handling device specific style classes
2096
+ */
2097
+ attachToView(
2098
+ /**
2099
+ * the control to be attached to the view
2100
+ */
2101
+ oControl: Control
2102
+ ): void;
2103
+ /**
2104
+ * Get the navigation controller for navigation actions
2105
+ *
2106
+ * @returns the navigation controller
2107
+ */
2108
+ getNavigationController(): NavigationController;
2109
+ /**
2110
+ * @EXPERIMENTAL
2111
+ *
2112
+ * If switching between different table views is enabled, this function returns the selected key.
2113
+ *
2114
+ * @returns The key of the variant item that is currently selected.
2115
+ */
2116
+ getQuickVariantSelectionKey(): string;
2117
+ /**
2118
+ * Get the list entries currently selected for smart table
2119
+ *
2120
+ * @returns contains one entry per line selected
2121
+ */
2122
+ getSelectedContexts(): Context[];
2123
+ /**
2124
+ * Get the transaction controller for editing actions on the list. Note: Currently implemented for non draft
2125
+ * case
2126
+ *
2127
+ * @returns the transaction controller
2128
+ */
2129
+ getTransactionController(): NonDraftTransactionController;
2130
+ /**
2131
+ * Invokes multiple time the action with the given name and submits changes to the back-end.
2132
+ *
2133
+ * @returns A `Promise` for asynchronous execution of the action, resolving to the same result as the `Promise`
2134
+ * returned from {@link sap.ui.generic.app.ApplicationController}
2135
+ */
2136
+ invokeActions(
2137
+ /**
2138
+ * The name of the function or action
2139
+ */
2140
+ sFunctionName: string,
2141
+ /**
2142
+ * The given binding contexts
2143
+ */
2144
+ vContext: any[] | Context,
2145
+ /**
2146
+ * The URL parameters (name-value pairs) for the function or action. This is not in oSettings for backward
2147
+ * compatibility
2148
+ */
2149
+ mUrlParameters: Record<string, any>,
2150
+ /**
2151
+ * Parameters that are set for invoking Application controller's invokeActions method
2152
+ */
2153
+ oSettings: {
2154
+ /**
2155
+ * Determines whether the common or unique changeset gets sent in batch
2156
+ */
2157
+ bInvocationGroupingChangeSet: boolean;
2158
+ }
2159
+ ): Promise<any>;
2160
+ /**
2161
+ * Invokes multiple time the action with the given name and submits changes to the back-end.
2162
+ *
2163
+ * @returns A `Promise` for asynchronous execution of the action, resolving to the same result as the `Promise`
2164
+ * returned from {@link sap.ui.generic.app.ApplicationController}
2165
+ */
2166
+ invokeActions(
2167
+ /**
2168
+ * The name of the function or action
2169
+ */
2170
+ sFunctionName: string,
2171
+ /**
2172
+ * The given binding contexts
2173
+ */
2174
+ vContext: any[] | Context,
2175
+ /**
2176
+ * Parameters that are set for invoking Application controller's invokeActions method
2177
+ */
2178
+ oSettings: {
2179
+ /**
2180
+ * Determines whether the common or unique changeset gets sent in batch
2181
+ */
2182
+ bInvocationGroupingChangeSet: boolean;
2183
+ }
2184
+ ): Promise<any>;
2185
+ /**
2186
+ * This method should be called when any custom ui state handled by the get/restoreCustomAppStateDataExtension-methods
2187
+ * changes. Note that changes applied to custom filters need not to be propagated this way, since the change
2188
+ * event of the SmartFilterBar will automatically be handled by the smart template framework.
2189
+ */
2190
+ onCustomAppStateChange(): void;
2191
+ /**
2192
+ * Triggers rebinding on the list.
2193
+ * Note that in a multi table tab scenarios the situation is more complex: By default the rebinding is
2194
+ * performed on all tabs as soon as they get visible the next time (immediately for the already visible
2195
+ * one). This applies to charts as well as tables.
2196
+ * Optional parameter `vTabKey` can be used to restrict the set of affected tabs.
2197
+ */
2198
+ rebindTable(
2199
+ /**
2200
+ * in multiple table tab scenario keys for the tables that should be rebound
2201
+ */
2202
+ vTabKey?: any[] | string
2203
+ ): void;
2204
+ /**
2205
+ * Refreshes the List from the backend Note that in a multi table tab scenarios the situation is more complex:
2206
+ * By default the refresh is performed on all tabs as soon as they get visible the next time (immediately
2207
+ * for the already visible one). This applies to charts as well as tables.
2208
+ * Optional parameter `vTabKey` can be used to restrict the set of affected tabs.
2209
+ */
2210
+ refreshTable(
2211
+ /**
2212
+ * in multiple table tab scenario keys for the tables that should be refreshed
2213
+ */
2214
+ vTabKey?: any[] | string
2215
+ ): void;
2216
+ /**
2217
+ * Secured execution of the given function. Ensures that the function is only executed when certain conditions
2218
+ * are fulfilled. For more information, see {@link topic:6a39150ad3e548a8b5304d32d560790a Using the SecuredExecutionMethod}.
2219
+ *
2220
+ * @returns A `Promise` that is rejected, if execution is prohibited, and settled equivalent to the one
2221
+ * returned by fnFunction.
2222
+ */
2223
+ securedExecution(
2224
+ /**
2225
+ * The function to be executed. Should return a promise that is settled after completion of the execution.
2226
+ * If nothing is returned, immediate completion is assumed.
2227
+ */
2228
+ fnFunction: Function,
2229
+ /**
2230
+ * Parameters to define the preconditions to be checked before execution
2231
+ */
2232
+ mParameters?: {
2233
+ /**
2234
+ * Parameters regarding busy indication
2235
+ */
2236
+ busy?: {
2237
+ /**
2238
+ * Triggers a busy indication during function execution. Can be set to false in case of immediate completion.
2239
+ */
2240
+ set?: boolean;
2241
+ /**
2242
+ * Checks whether the application is currently busy. Function is only executed if not. Has to be set to
2243
+ * false, if function is not triggered by direct user interaction, but as result of another function, that
2244
+ * set the application busy.
2245
+ */
2246
+ check?: boolean;
2247
+ };
2248
+ /**
2249
+ * Parameters regarding dataloss prevention
2250
+ */
2251
+ dataloss?: {
2252
+ /**
2253
+ * Provides a dataloss popup before execution of the function if needed (i.e. in non-draft case when model
2254
+ * or registered methods contain pending changes).
2255
+ */
2256
+ popup?: boolean;
2257
+ /**
2258
+ * Indicates that execution of the function leads to a navigation, i.e. leaves the current page, which induces
2259
+ * a slightly different text for the dataloss popup.
2260
+ */
2261
+ navigation?: boolean;
2262
+ };
2263
+ /**
2264
+ * Tells the framework that objects will be deleted by `fnFunction`. Use the BindingContextPath as a key
2265
+ * for the map. Fill the map with a `Promise` for each object which is to be deleted. The `Promise` must
2266
+ * resolve after the deletion of the corresponding object or reject if the deletion is not successful.
2267
+ */
2268
+ mConsiderObjectsAsDeleted?: Record<string, any>;
2269
+ /**
2270
+ * In case of custom actions, the title of the message popup is set to sActionLabel.
2271
+ */
2272
+ sActionLabel?: string;
2273
+ }
2274
+ ): Promise<any>;
2275
+ /**
2276
+ * Provide an option for showing an own message in the message bar above the LR table
2277
+ */
2278
+ setCustomMessage(
2279
+ /**
2280
+ * custom message along with type to set on table. If this parameter is faulty an existing message will
2281
+ * be removed.
2282
+ */
2283
+ oMessage?: {
2284
+ /**
2285
+ * message string to display
2286
+ */
2287
+ message: string;
2288
+ /**
2289
+ * indicates type of message (sap.ui.core.MessageType) whether it's sap.ui.core.MessageType.Success, sap.ui.core.MessageType.Warning,
2290
+ * sap.ui.core.MessageType.Error or sap.ui.core.MessageType.Information.
2291
+ */
2292
+ type: string;
2293
+ },
2294
+ /**
2295
+ * If switching between different table views is enabled, this parameter can be used to identify the views
2296
+ * which are affected by this call. Faulty values indicate that all views should be affected. Otherwise
2297
+ * the value should either be one string or an array of strings identifying the affected variant items.
2298
+ */
2299
+ vTabKey?: any[] | string,
2300
+ /**
2301
+ * A function that is called when the user closes the message bar. Note that the messages for all tabs specified
2302
+ * via `vTabKey` will be considered to be obsolete when the user closes the message bar while one of them
2303
+ * is active.
2304
+ */
2305
+ onClose?: Function
2306
+ ): void;
2307
+ /**
2308
+ * @EXPERIMENTAL
2309
+ *
2310
+ * If switching between different table views is enabled, this function sets the selected key.
2311
+ */
2312
+ setQuickVariantSelectionKey(
2313
+ /**
2314
+ * The key of the variant item that is currently selected.
2315
+ */
2316
+ sKey: string
2317
+ ): void;
2318
+ }
2319
+ }
2320
+
2321
+ declare module "sap/suite/ui/generic/template/ListReport/extensionAPI/NonDraftTransactionController" {
2322
+ import BaseObject from "sap/ui/base/Object";
2323
+
2324
+ import Context from "sap/ui/model/Context";
2325
+
2326
+ import Metadata from "sap/ui/base/Metadata";
2327
+
2328
+ export default class NonDraftTransactionController extends BaseObject {
2329
+ /**
2330
+ * Non draft transaction controller to be used in extensions of ListReport. Breakout coding can access an
2331
+ * instance of this class via `ExtensionAPI.getTransactionController`. Do not instantiate yourself.
2332
+ *
2333
+ * Note: Only one object can be edited at a given point in time.
2334
+ */
2335
+ constructor();
2336
+
2337
+ /**
2338
+ * Creates a new subclass of class sap.suite.ui.generic.template.ListReport.extensionAPI.NonDraftTransactionController
2339
+ * with name `sClassName` and enriches it with the information contained in `oClassInfo`.
2340
+ *
2341
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.Object.extend}.
2342
+ *
2343
+ * @returns Created class / constructor function
2344
+ */
2345
+ static extend<T extends Record<string, unknown>>(
2346
+ /**
2347
+ * Name of the class being created
2348
+ */
2349
+ sClassName: string,
2350
+ /**
2351
+ * Object literal with information about the class
2352
+ */
2353
+ oClassInfo?: sap.ClassInfo<T, NonDraftTransactionController>,
2354
+ /**
2355
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
2356
+ * used by this class
2357
+ */
2358
+ FNMetaImpl?: Function
2359
+ ): Function;
2360
+ /**
2361
+ * Returns a metadata object for class sap.suite.ui.generic.template.ListReport.extensionAPI.NonDraftTransactionController.
2362
+ *
2363
+ * @returns Metadata object describing this class
2364
+ */
2365
+ static getMetadata(): Metadata;
2366
+ /**
2367
+ * Cancel editing
2368
+ */
2369
+ cancel(): void;
2370
+ /**
2371
+ * This method can be called when a new entry with predefined values should be created (e.g. in a copy scenario).
2372
+ *
2373
+ * @returns a context representing the object to be created. It can be passed to {@link sap.suite.ui.generic.template.extensionAPI.NavigationController#navigateInternal}
2374
+ * in order to visit the corresponding object page.
2375
+ */
2376
+ createEntry(
2377
+ /**
2378
+ * an object containing predefined values for the new entity (see parameter `mParameters.properties` of
2379
+ * {@link sap.ui.model.odata.v2.ODataModel#createEntry} for details)
2380
+ */
2381
+ vPredefinedValues: undefined,
2382
+ /**
2383
+ * this parameter only needs to be used in multi entitySet scenarios, in order to specify another entity
2384
+ * set than the main entity set of the ListReport
2385
+ */
2386
+ sEntitySet?: string
2387
+ ): Context;
2388
+ /**
2389
+ * Start editing one list entry
2390
+ */
2391
+ edit(
2392
+ /**
2393
+ * the context identifying the entry to be edited
2394
+ */
2395
+ oContext: Context
2396
+ ): void;
2397
+ /**
2398
+ * Save the changes which have been applied to the OData model. Sets the application busy during execution
2399
+ * and doesn't execute if application is already busy when called (i.e. don't use `ExtensionAPI.securedExecution`
2400
+ * to call this method).
2401
+ *
2402
+ * @returns is resolved when entry is successfully saved and rejected when saving fails
2403
+ */
2404
+ save(): Promise<any>;
2405
+ }
2406
+ }
2407
+
2408
+ declare module "sap/suite/ui/generic/template/ObjectPage/controllerFrameworkExtensions" {
2409
+ import SelectionVariant from "sap/ui/generic/app/navigation/service/SelectionVariant";
2410
+
2411
+ import Filter from "sap/ui/export/util/Filter";
2412
+
2413
+ import Event from "sap/ui/base/Event";
2414
+
2415
+ import Context from "sap/ui/model/Context";
2416
+
2417
+ import ObjectPageSubSection from "sap/uxap/ObjectPageSubSection";
2418
+
2419
+ /**
2420
+ * This class contains all extension functions that can be implemented by Application developers in their
2421
+ * extension code. Application developers should not override any methods outside this documentation.
2422
+ */
2423
+ interface controllerFrameworkExtensions {
2424
+ /**
2425
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2426
+ *
2427
+ * This method is called by SAP Fiori elements before triggering an external navigation. Application developers
2428
+ * can override this method and programmatically adapt the parameters which are passed to the target application.
2429
+ * Application developers can use the oObjectInfo parameter to identify the navigation context and modify
2430
+ * the oSelectionVariant which contains the navigation parameters.
2431
+ */
2432
+ adaptNavigationParameterExtension(
2433
+ /**
2434
+ * Selection variant object containing the information which needs to be passed to the target application
2435
+ */
2436
+ oSelectionVariant: SelectionVariant,
2437
+ /**
2438
+ * Context object based on which the intent based navigation is triggered
2439
+ */
2440
+ oObjectInfo: {
2441
+ /**
2442
+ * Semantic object used for the intend based navigation
2443
+ */
2444
+ semanticObject: string;
2445
+ /**
2446
+ * Action on the context for which the navigation is triggered
2447
+ */
2448
+ action: string;
2449
+ }
2450
+ ): void;
2451
+ /**
2452
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2453
+ *
2454
+ * This method is called by SAP Fiori elements whenever the busy state is switched off. Application developers
2455
+ * can override this method, access the message model and adapt the transient messages related to the component.
2456
+ */
2457
+ adaptTransientMessageExtension(): void;
2458
+ /**
2459
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2460
+ *
2461
+ * This method will be called by SAP Fiori elements while applying the AppState. The custom state object
2462
+ * retrieved from the AppState will be passed as a parameter to this method. Application developers can
2463
+ * use this custom state for restoring the state of the custom control. To make a complete functionality,
2464
+ * this method should be overridden with `provideCustomStateExtension`.
2465
+ * See:
2466
+ * {@link topic:89fa878945294931b15a581a99043005 Custom State Handling for Extended Apps}
2467
+ */
2468
+ applyCustomStateExtension(
2469
+ /**
2470
+ * Custom data containing the information
2471
+ */
2472
+ oState: object,
2473
+ /**
2474
+ * Set to True if the method is called for the same instance **Note: ** In draft scenarios, this parameter
2475
+ * will be set to true if the instance that is currently displayed and the instance that was visited previously
2476
+ * are semantically same but differ in their draft status
2477
+ */
2478
+ bIsSameAsLast: boolean
2479
+ ): void;
2480
+ /**
2481
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2482
+ *
2483
+ * This method is called by SAP Fiori element when Delete button on the Object Page is clicked. Application
2484
+ * developers can override this method & perform additional checks before executing the delete operation.
2485
+ * Method is expected to return a Promise. To veto the delete operation, promise needs to be rejected else
2486
+ * resolved.
2487
+ *
2488
+ * @returns Promise object created by the extension, used for delete operation chaining
2489
+ */
2490
+ beforeDeleteExtension(): Promise<any>;
2491
+ /**
2492
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2493
+ *
2494
+ * This method is called when the Delete operation is triggered on a table in the Object Page. Application
2495
+ * developers can override this method & perform additional checks before executing the delete operation.
2496
+ * Method is expected to return a Promise. Delete operation is executed only once the returned promise is
2497
+ * resolved. In case the extension code wants to veto the Delete operation, promise needs to be rejected.
2498
+ * Application developers can use `sUiElementId` property of the object passed as param to identify the
2499
+ * smart table where the Delete operation is being triggered.
2500
+ *
2501
+ * @returns Promise object created by the extension, used for Delete operation chaining
2502
+ */
2503
+ beforeLineItemDeleteExtension(
2504
+ /**
2505
+ * Object containing the selected context for delete
2506
+ */
2507
+ oBeforeLineItemDeleteProperties: {
2508
+ /**
2509
+ * Id of the smart table relevant for Delete operation
2510
+ */
2511
+ sUiElementId: string;
2512
+ /**
2513
+ * Array of the selected contexts
2514
+ */
2515
+ aContexts: any[];
2516
+ }
2517
+ ): Promise<any>;
2518
+ /**
2519
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2520
+ *
2521
+ * This method is called by SAP Fiori elements when Save button is clicked. Application developers can override
2522
+ * this method & perform additional checks before executing the Save operation. Method is expected to return
2523
+ * a Promise. Save operation will be continued only once the promise is resolved. In case the extension
2524
+ * code would like to veto the Save operation, promise needs to be rejected.
2525
+ *
2526
+ * @returns Promise object created by the extension, used for Save operation chaining
2527
+ */
2528
+ beforeSaveExtension(): Promise<any>;
2529
+ /**
2530
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2531
+ *
2532
+ * This method is called by SAP Fiori elements when a smart link in a table or form is clicked. Application
2533
+ * developers can override this method and invoke the oParams.getSourceInfo method to find out the information
2534
+ * about the clicked smart link.
2535
+ *
2536
+ * If the application expect the framework should not handle the `beforePopoverOpens` event, then this method
2537
+ * should return true. Otherwise, framework will proceed with its handling.
2538
+ *
2539
+ * @returns Method should return `true` if framework should not handle `beforePopoverOpens` event (that
2540
+ * means: extension code will handle the event)
2541
+ */
2542
+ beforeSmartLinkPopoverOpensExtension(
2543
+ /**
2544
+ * Object containing the "getSourceInfo" method and the selection variant
2545
+ */
2546
+ oParams: {
2547
+ /**
2548
+ * Selection variant object containing the information which needs to be passed to the target application
2549
+ */
2550
+ oSelectionVariant: SelectionVariant;
2551
+ /**
2552
+ * Returns an object contains information about the smart link
2553
+ */
2554
+ getSourceInfo?: Function;
2555
+ }
2556
+ ): boolean;
2557
+ /**
2558
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2559
+ *
2560
+ * This method is called by SAP Fiori elements when the table data is getting exported. Application developers
2561
+ * can override this method to add/remove the filters in the exported file.
2562
+ *
2563
+ * To add new filter entries to the exported file, create an instance of {@link sap.ui.export.util.Filter}
2564
+ * and add it to "oExportParams.filterSettings"
2565
+ */
2566
+ onBeforeExportTableExtension(
2567
+ /**
2568
+ * Object containing the table export info
2569
+ */
2570
+ oExportParams: {
2571
+ /**
2572
+ * The filters in the exported file Note: Please make changes on "oExportParams.filterSettings" array only
2573
+ * when "Include filter settings" is selected. Otherwise, the changes will be ignored.
2574
+ */
2575
+ filterSettings: Filter[];
2576
+ /**
2577
+ * The value of "Include filter settings" checkbox
2578
+ */
2579
+ includeFilterSettings: boolean;
2580
+ }
2581
+ ): void;
2582
+ /**
2583
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2584
+ *
2585
+ * This method is called by SAP Fiori elements before binding a table. Application developers can override
2586
+ * this method and programmatically modify parameters or filters before the table triggers a query to retrieve
2587
+ * data. Source property of the oEvent shall be used to determine table triggering the event
2588
+ *
2589
+ * **Note: **This method is called only when a table is rebound, and not when it is refreshed.
2590
+ */
2591
+ onBeforeRebindTableExtension(
2592
+ /**
2593
+ * The {@link sap.ui.comp.smarttable.SmartTable.prototype.event:beforeRebindTable beforeRebindTable} event
2594
+ */
2595
+ oEvent: Event
2596
+ ): void;
2597
+ /**
2598
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2599
+ *
2600
+ * This method should be implemented whenever application uses onListNavigationExtension for internal navigation.
2601
+ * In this case the implementation of this method should provide an 'inverse' mapping to the transformation
2602
+ * implemented within onListNavigationExtension. More precisely, the identification of a child page instance
2603
+ * is passed to this function. The implementation of this function should provide information about the
2604
+ * list item which has triggered the opening of the child page.
2605
+ */
2606
+ onChildOpenedExtension(
2607
+ /**
2608
+ * Information about the child page instance opened last
2609
+ */
2610
+ oSelectionInfo: {
2611
+ /**
2612
+ * The entity set identifying the child page which was opened last. Note: In case the child page has been
2613
+ * defined without reference to OData this will be the routeName taken from the routingSpec.
2614
+ */
2615
+ pageEntitySet?: string;
2616
+ /**
2617
+ * The context path that was used for the last opened child page
2618
+ */
2619
+ path?: string;
2620
+ /**
2621
+ * The array of keys (one on each hierarchy level) used for the last opened child page
2622
+ */
2623
+ keys?: string[];
2624
+ },
2625
+ /**
2626
+ * pass the binding path of the corresponding list item to this function if it is not identical to `oSelectionInfo.path`
2627
+ */
2628
+ fnSetPath: Function
2629
+ ): void;
2630
+ /**
2631
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2632
+ *
2633
+ * This method is called by SAP Fiori elements on the initialization of View. Application developers can
2634
+ * override this method & perform internal setup in this hook.
2635
+ */
2636
+ onInit(): void;
2637
+ /**
2638
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2639
+ *
2640
+ * This method is called when the user leaves the app and this page has been displayed within the same app
2641
+ * session (this is the time since last opening the app) at least once. Moreover, it is called for all pages
2642
+ * that have been displayed within some app session when the app is finally destroyed.
2643
+ *
2644
+ * @returns - Only relevant in case that `isDestroyed` is false. In this case Application developers can
2645
+ * provide a function to be called when the same page is opened again (after the user has navigated back
2646
+ * to the app).
2647
+ */
2648
+ onLeaveAppExtension(
2649
+ /**
2650
+ * If this parameter is true this app instance is destroyed. Otherwise it might be rewoken if the user navigates
2651
+ * again to this app within the same FLP session
2652
+ */
2653
+ bIsDestroyed: boolean
2654
+ ): Function;
2655
+ /**
2656
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2657
+ *
2658
+ * This method is called by SAP Fiori elements when a chevron navigation is triggered from a table. Application
2659
+ * developers can override this method and perform conditional (internal or external) navigation from different
2660
+ * rows of a table. Such custom navigation should be triggered via corresponding methods of {@link sap.suite.ui.generic.template.extensionAPI.NavigationController
2661
+ * NavigationController}.
2662
+ *
2663
+ * @returns Method should return `true` if framework navigation should be suppressed (that means: extension
2664
+ * code has taken over navigation)
2665
+ */
2666
+ onListNavigationExtension(
2667
+ /**
2668
+ * The press event fired when navigating from a row in the SmartTable. It is recommended to ignore this
2669
+ * parameter and use `oBindingContext` instead
2670
+ */
2671
+ oEvent: Event,
2672
+ /**
2673
+ * The context of the corresponding table row
2674
+ */
2675
+ oBindingContext: Context,
2676
+ /**
2677
+ * This parameter should be considered if the method triggers an internal navigation. Pass this parameter
2678
+ * to `oNavigationData.replaceInHistory` in this case
2679
+ */
2680
+ bReplaceInHistory: boolean
2681
+ ): boolean;
2682
+ /**
2683
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2684
+ *
2685
+ * This method is called by SAP Fiori elements when the Share functionality is triggered. Application developers
2686
+ * can adapt the service URL passed as a parameter to this method. Adapted service URL will be used in the
2687
+ * 'Send Email' or 'Save as Tile' options.
2688
+ */
2689
+ onSaveAsTileExtension(
2690
+ /**
2691
+ * Object containing the serviceURL
2692
+ */
2693
+ oShareInfo: {
2694
+ /**
2695
+ * Service URL which is derived by SAP Fiori elements
2696
+ */
2697
+ serviceUrl: string;
2698
+ }
2699
+ ): void;
2700
+ /**
2701
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2702
+ *
2703
+ * This method is called when the SubSection enters the Viewport first time for an ObjectPage. Method would
2704
+ * be called again for the same SubSection only in case ObjectPage binding context is changed. Application
2705
+ * developers could use this method to perform specific actions on the current SubSection children. This
2706
+ * enables the application to perform actions relevant to a specific section when it really comes to view
2707
+ * port. Control specific handling should be done in this method in case View LazyLoading is enabled.
2708
+ */
2709
+ onSubSectionEnteredExtension(
2710
+ /**
2711
+ * Reference to the ObjectPageSubSection cause for this method call
2712
+ */
2713
+ oSubSection: ObjectPageSubSection
2714
+ ): void;
2715
+ /**
2716
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
2717
+ *
2718
+ * This method will be called by SAP Fiori elements before persisting the AppState. Application developers
2719
+ * can override this method for persisting the state of custom controls. State of the custom controls should
2720
+ * be stored in the oState object passed as a parameter to this method. To make a complete functionality,
2721
+ * this method should be overridden with `applyCustomStateExtension`.
2722
+ * See:
2723
+ * {@link topic:89fa878945294931b15a581a99043005 Custom State Handling for Extended Apps}
2724
+ */
2725
+ provideCustomStateExtension(
2726
+ /**
2727
+ * Object which needs to enriched with the custom control state
2728
+ */
2729
+ oState: object
2730
+ ): void;
2731
+ }
2732
+ const controllerFrameworkExtensions: controllerFrameworkExtensions;
2733
+ export default controllerFrameworkExtensions;
2734
+ }
2735
+
2736
+ declare module "sap/suite/ui/generic/template/ObjectPage/extensionAPI/DraftTransactionController" {
2737
+ import BaseObject from "sap/ui/base/Object";
2738
+
2739
+ import Metadata from "sap/ui/base/Metadata";
2740
+
2741
+ export default class DraftTransactionController extends BaseObject {
2742
+ /**
2743
+ * Draft transaction controller to be used in extensions of ObjectPage. Breakout coding can access an instance
2744
+ * of this class via `ExtensionAPI.getTransactionController`. Do not instantiate yourself.
2745
+ */
2746
+ constructor();
2747
+
2748
+ /**
2749
+ * Creates a new subclass of class sap.suite.ui.generic.template.ObjectPage.extensionAPI.DraftTransactionController
2750
+ * with name `sClassName` and enriches it with the information contained in `oClassInfo`.
2751
+ *
2752
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.Object.extend}.
2753
+ *
2754
+ * @returns Created class / constructor function
2755
+ */
2756
+ static extend<T extends Record<string, unknown>>(
2757
+ /**
2758
+ * Name of the class being created
2759
+ */
2760
+ sClassName: string,
2761
+ /**
2762
+ * Object literal with information about the class
2763
+ */
2764
+ oClassInfo?: sap.ClassInfo<T, DraftTransactionController>,
2765
+ /**
2766
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
2767
+ * used by this class
2768
+ */
2769
+ FNMetaImpl?: Function
2770
+ ): Function;
2771
+ /**
2772
+ * Returns a metadata object for class sap.suite.ui.generic.template.ObjectPage.extensionAPI.DraftTransactionController.
2773
+ *
2774
+ * @returns Metadata object describing this class
2775
+ */
2776
+ static getMetadata(): Metadata;
2777
+ /**
2778
+ * Attach a handler to the activate event
2779
+ */
2780
+ attachAfterActivate(
2781
+ /**
2782
+ * the handler function
2783
+ */
2784
+ fnFunction: Function
2785
+ ): void;
2786
+ /**
2787
+ * Attach a handler to the discard event
2788
+ */
2789
+ attachAfterCancel(
2790
+ /**
2791
+ * the handler function
2792
+ */
2793
+ fnFunction: Function
2794
+ ): void;
2795
+ /**
2796
+ * Attach a handler to the delete event
2797
+ */
2798
+ attachAfterDelete(
2799
+ /**
2800
+ * the handler function
2801
+ */
2802
+ fnFunction: Function
2803
+ ): void;
2804
+ /**
2805
+ * Attach a handler to the line item delete event (for smart tables in object page)
2806
+ */
2807
+ attachAfterLineItemDelete(
2808
+ /**
2809
+ * the handler function
2810
+ */
2811
+ fnFunction: Function
2812
+ ): void;
2813
+ /**
2814
+ * Detach a handler from the activate event
2815
+ */
2816
+ detachAfterActivate(
2817
+ /**
2818
+ * the handler function
2819
+ */
2820
+ fnFunction: Function
2821
+ ): void;
2822
+ /**
2823
+ * Detach a handler from the discard event
2824
+ */
2825
+ detachAfterCancel(
2826
+ /**
2827
+ * the handler function
2828
+ */
2829
+ fnFunction: Function
2830
+ ): void;
2831
+ /**
2832
+ * Detach a handler from the delete event
2833
+ */
2834
+ detachAfterDelete(
2835
+ /**
2836
+ * the handler function
2837
+ */
2838
+ fnFunction: Function
2839
+ ): void;
2840
+ /**
2841
+ * @EXPERIMENTAL
2842
+ *
2843
+ * Cancel the draft. Note that this method only works when you are on the root of a draft. The normal navigation
2844
+ * which follows the cancellation of a draft is executed. Moreover, note that executing this method will
2845
+ * set the App to be busy. However, it does not ensure, that the method is only called, when the App is
2846
+ * currently unbusy. If you want to ensure that, you have to use {@link sap.suite.ui.generic.template.ObjectPage.extensionAPI.ExtensionAPI#securedExecution}.
2847
+ *
2848
+ * @returns a promise that is resolved when the draft is cancelled, rejected when this is not possible.
2849
+ */
2850
+ discardDraft(): Function;
2851
+ /**
2852
+ * @EXPERIMENTAL
2853
+ *
2854
+ * checks if side effects exist for the given properties or entities and executes them. if there are pending
2855
+ * changes in the model those pending changes are sent as a patch request with the side effect batch request.
2856
+ * If no source property and no source entity is passed a global side effect is executed
2857
+ */
2858
+ executeSideEffects(
2859
+ /**
2860
+ * object containing any of the following properties:
2861
+ */
2862
+ oSideEffects?: {
2863
+ /**
2864
+ * array with property paths
2865
+ */
2866
+ sourceProperties: any[];
2867
+ /**
2868
+ * array with navigation property paths
2869
+ */
2870
+ sourceEntities: any[];
2871
+ }
2872
+ ): void;
2873
+ /**
2874
+ * Perform a draft saving operation. This method only needs to be used, when more than one OData model is
2875
+ * used to handle the data for the current draft. Using more than one OData models is only sensible, when
2876
+ * more than one OData service is being used to store the data for the object. The Fiori Elements framework
2877
+ * cares for all changes being applied to the standard OData model (even if they are applied within breakouts).
2878
+ * However, if additional OData models are in place the breakout implementation which has introduced these
2879
+ * models also needs to take care for saving the data in these models as soon as possible.
2880
+ * In these rare cases this method should be used to intergate the saving operation into the general draft
2881
+ * saving process.
2882
+ * Note that this method may be enhanced in the future in order to introduce a better error handling.
2883
+ */
2884
+ saveDraft(
2885
+ /**
2886
+ * function that saves the draft in the additional OData model(s). This method must return a Promise that
2887
+ * is resolved, when the draft saving is finished successfully. Otherwise the Promise should be rejected.
2888
+ */
2889
+ fnFunction: Function
2890
+ ): void;
2891
+ }
2892
+ }
2893
+
2894
+ declare module "sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI" {
2895
+ import BaseObject from "sap/ui/base/Object";
2896
+
2897
+ import Control from "sap/ui/core/Control";
2898
+
2899
+ import Metadata from "sap/ui/base/Metadata";
2900
+
2901
+ import NavigationController from "sap/suite/ui/generic/template/extensionAPI/NavigationController";
2902
+
2903
+ import Context from "sap/ui/model/Context";
2904
+
2905
+ import DraftTransactionController from "sap/suite/ui/generic/template/ObjectPage/extensionAPI/DraftTransactionController";
2906
+
2907
+ import NonDraftTransactionController from "sap/suite/ui/generic/template/ObjectPage/extensionAPI/NonDraftTransactionController";
2908
+
2909
+ export default class ExtensionAPI extends BaseObject {
2910
+ /**
2911
+ * API to be used in extensions of ObjectPage. Breakout coding can access an instance of this class via
2912
+ * `this.extensionAPI`. Do not instantiate yourself.
2913
+ */
2914
+ constructor();
2915
+
2916
+ /**
2917
+ * Creates a new subclass of class sap.suite.ui.generic.template.ObjectPage.extensionAPI.ExtensionAPI with
2918
+ * name `sClassName` and enriches it with the information contained in `oClassInfo`.
2919
+ *
2920
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.Object.extend}.
2921
+ *
2922
+ * @returns Created class / constructor function
2923
+ */
2924
+ static extend<T extends Record<string, unknown>>(
2925
+ /**
2926
+ * Name of the class being created
2927
+ */
2928
+ sClassName: string,
2929
+ /**
2930
+ * Object literal with information about the class
2931
+ */
2932
+ oClassInfo?: sap.ClassInfo<T, ExtensionAPI>,
2933
+ /**
2934
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
2935
+ * used by this class
2936
+ */
2937
+ FNMetaImpl?: Function
2938
+ ): Function;
2939
+ /**
2940
+ * Returns a metadata object for class sap.suite.ui.generic.template.ObjectPage.extensionAPI.ExtensionAPI.
2941
+ *
2942
+ * @returns Metadata object describing this class
2943
+ */
2944
+ static getMetadata(): Metadata;
2945
+ /**
2946
+ * Attach a handler to the PageDataLoaded event. This event is fired each time the object page is navigated
2947
+ * to or the object to be displayed is changed Note, that the event will not be fired before:
2948
+ * the navigation to the page has been completed the header data of the object are available
2949
+ */
2950
+ attachPageDataLoaded(
2951
+ /**
2952
+ * the handler function. Note that the event passed to this function possesses an attribute `context` which
2953
+ * contains the current header context
2954
+ */
2955
+ fnFunction: Function
2956
+ ): void;
2957
+ /**
2958
+ * Attaches a control to the current View. Should be called whenever a new control is created and used in
2959
+ * the context of this view. This applies especially for dialogs, action sheets, popovers, ... This method
2960
+ * cares for defining dependency and handling device specific style classes
2961
+ */
2962
+ attachToView(
2963
+ /**
2964
+ * the control to be attached to the view
2965
+ */
2966
+ oControl: Control
2967
+ ): void;
2968
+ /**
2969
+ * Detach a handler from the PageDataLoaded event
2970
+ */
2971
+ detachPageDataLoaded(
2972
+ /**
2973
+ * the handler function
2974
+ */
2975
+ fnFunction: Function
2976
+ ): void;
2977
+ /**
2978
+ * Get the navigation controller for navigation actions
2979
+ *
2980
+ * @returns the navigation controller
2981
+ */
2982
+ getNavigationController(): NavigationController;
2983
+ /**
2984
+ * @EXPERIMENTAL
2985
+ *
2986
+ * This function returns the selected key of selected table of Object Page.
2987
+ *
2988
+ * @returns The key of variant item that is currently selected section.
2989
+ */
2990
+ getQuickVariantSelectionKey(
2991
+ /**
2992
+ * id of the section in Object Page mentioned in manifest of the application
2993
+ */
2994
+ sSectionKey: string
2995
+ ): string;
2996
+ /**
2997
+ * Get the entries currently selected in one ui element (table, chart, or list)
2998
+ *
2999
+ * @returns contains one entry per entry selected
3000
+ */
3001
+ getSelectedContexts(
3002
+ /**
3003
+ * the id identifying the ui element the selected context is requested for
3004
+ */
3005
+ sUiElementId: string
3006
+ ): Context[];
3007
+ /**
3008
+ * Get the transaction controller for editing actions on the page. Note that the methods provided by this
3009
+ * transaction controller depend on whether the object supports drafts or not.
3010
+ *
3011
+ * @returns the transaction controller
3012
+ */
3013
+ getTransactionController():
3014
+ | DraftTransactionController
3015
+ | NonDraftTransactionController;
3016
+ /**
3017
+ * Get the id of the view this extension api belongs to
3018
+ *
3019
+ * @returns the view id
3020
+ */
3021
+ getViewId(): string;
3022
+ /**
3023
+ * Invokes multiple time the action with the given name and submits changes to the back-end.
3024
+ *
3025
+ * @returns A `Promise` for asynchronous execution of the action, resolving to the same result as the `Promise`
3026
+ * returned from {@link sap.ui.generic.app.ApplicationController}
3027
+ */
3028
+ invokeActions(
3029
+ /**
3030
+ * The name of the function or action
3031
+ */
3032
+ sFunctionName: string,
3033
+ /**
3034
+ * The given binding contexts
3035
+ */
3036
+ vContext: any[] | Context,
3037
+ /**
3038
+ * The URL parameters (name-value pairs) for the function or action. This is not in oSettings for backward
3039
+ * compatibility
3040
+ */
3041
+ mUrlParameters: Record<string, any>,
3042
+ /**
3043
+ * Parameters that are set for invoking Application controller's invokeActions method
3044
+ */
3045
+ oSettings: {
3046
+ /**
3047
+ * Determines whether the common or unique changeset gets sent in batch
3048
+ */
3049
+ bInvocationGroupingChangeSet: boolean;
3050
+ }
3051
+ ): Promise<any>;
3052
+ /**
3053
+ * Invokes multiple time the action with the given name and submits changes to the back-end.
3054
+ *
3055
+ * @returns A `Promise` for asynchronous execution of the action, resolving to the same result as the `Promise`
3056
+ * returned from {@link sap.ui.generic.app.ApplicationController}
3057
+ */
3058
+ invokeActions(
3059
+ /**
3060
+ * The name of the function or action
3061
+ */
3062
+ sFunctionName: string,
3063
+ /**
3064
+ * The given binding contexts
3065
+ */
3066
+ vContext: any[] | Context,
3067
+ /**
3068
+ * Parameters that are set for invoking Application controller's invokeActions method
3069
+ */
3070
+ oSettings: {
3071
+ /**
3072
+ * Determines whether the common or unique changeset gets sent in batch
3073
+ */
3074
+ bInvocationGroupingChangeSet: boolean;
3075
+ }
3076
+ ): Promise<any>;
3077
+ /**
3078
+ * Call this method to indicate that the state of custom controls has changed. This is only necessary when
3079
+ * methods `provideCustomStateExtension` and `applyCustomStateExtension` have been overridden, such that
3080
+ * the corresponding state can be stored and restored.
3081
+ * See:
3082
+ * {@link topic:89fa878945294931b15a581a99043005 Custom State Handling for Extended Apps}
3083
+ *
3084
+ * @returns A `Promise` that is resolved when the changed state is transferred to the URL and the corresponding
3085
+ * busy session is ended.
3086
+ */
3087
+ onCustomStateChange(): Promise<any>;
3088
+ /**
3089
+ * Rebinds the given SmartTable
3090
+ */
3091
+ rebind(
3092
+ /**
3093
+ * the id identifying the control to refresh the binding
3094
+ */
3095
+ sUiElementId: string
3096
+ ): void;
3097
+ /**
3098
+ * Refreshes the specified control from the backend. Currently only supported for tables.
3099
+ */
3100
+ refresh(
3101
+ /**
3102
+ * the id identifying the control that should be refeshed. If the parameter is faulty the whole page is
3103
+ * refreshed.
3104
+ */
3105
+ sUiElementId: string
3106
+ ): void;
3107
+ /**
3108
+ * Allow parent components to be refreshed on next activation
3109
+ */
3110
+ refreshAncestors(
3111
+ /**
3112
+ * Number of parent components to be refreshed 1 - Refresh the immediate parent component Undefined or faulty
3113
+ * - Refresh all parent components
3114
+ */
3115
+ iLevel: int
3116
+ ): void;
3117
+ /**
3118
+ * Registers a filter provider for the the message popover
3119
+ */
3120
+ registerMessageFilterProvider(
3121
+ /**
3122
+ * function which will be called each time a new context is set for the object page. The function should
3123
+ * return an instance of sap.ui.model.Filter, an array of sap.ui.model.Filter or a Promise which resolves
3124
+ * to one of these.
3125
+ */
3126
+ fnProviderCallback: Function
3127
+ ): void;
3128
+ /**
3129
+ * Secured execution of the given function. Ensures that the function is only executed when certain conditions
3130
+ * are fulfilled.
3131
+ * See:
3132
+ * {@link topic:6a39150ad3e548a8b5304d32d560790a Using the SecuredExecutionMethod}
3133
+ *
3134
+ * @returns A `Promise` that is rejected, if execution is prohibited, and settled equivalent to the one
3135
+ * returned by fnFunction.
3136
+ */
3137
+ securedExecution(
3138
+ /**
3139
+ * The function to be executed. Should return a promise that is settled after completion of the execution.
3140
+ * If nothing is returned, immediate completion is assumed.
3141
+ */
3142
+ fnFunction: Function,
3143
+ /**
3144
+ * Parameters to define the preconditions to be checked before execution
3145
+ */
3146
+ mParameters?: {
3147
+ /**
3148
+ * Parameters regarding busy indication
3149
+ */
3150
+ busy?: {
3151
+ /**
3152
+ * Triggers a busy indication during function execution. Can be set to false in case of immediate completion.
3153
+ */
3154
+ set?: boolean;
3155
+ /**
3156
+ * Checks whether the application is currently busy. Function is only executed if not. Has to be set to
3157
+ * false, if function is not triggered by direct user interaction, but as result of another function, that
3158
+ * set the application busy.
3159
+ */
3160
+ check?: boolean;
3161
+ };
3162
+ /**
3163
+ * Parameters regarding dataloss prevention
3164
+ */
3165
+ dataloss?: {
3166
+ /**
3167
+ * Provides a dataloss popup before execution of the function if needed (i.e. in non-draft case when model
3168
+ * or registered methods contain pending changes).
3169
+ */
3170
+ popup?: boolean;
3171
+ /**
3172
+ * Indicates that execution of the function leads to a navigation, i.e. leaves the current page, which induces
3173
+ * a slightly different text for the dataloss popup.
3174
+ */
3175
+ navigation?: boolean;
3176
+ };
3177
+ /**
3178
+ * Tells the framework that objects will be deleted by `fnFunction`. Use the BindingContextPath as a key
3179
+ * for the map. Fill the map with a `Promise` for each object which is to be deleted. The `Promise` must
3180
+ * resolve after the deletion of the corresponding object or reject if the deletion is not successful.
3181
+ */
3182
+ mConsiderObjectsAsDeleted?: Record<string, any>;
3183
+ /**
3184
+ * In case of custom actions, the title of the message popup is set to sActionLabel.
3185
+ */
3186
+ sActionLabel?: string;
3187
+ }
3188
+ ): Promise<any>;
3189
+ /**
3190
+ * Provide an option for showing an own message in the message bar above an OP table
3191
+ */
3192
+ setCustomMessage(
3193
+ /**
3194
+ * custom message along with type to set on table. If this parameter is faulty an existing message will
3195
+ * be removed.
3196
+ */
3197
+ oMessage: {
3198
+ /**
3199
+ * message string to display
3200
+ */
3201
+ message: string;
3202
+ /**
3203
+ * indicates type of message (sap.ui.core.MessageType) whether it's sap.ui.core.MessageType.Success, sap.ui.core.MessageType.Warning,
3204
+ * sap.ui.core.MessageType.Error or sap.ui.core.MessageType.Information.
3205
+ */
3206
+ type: string;
3207
+ },
3208
+ /**
3209
+ * Id of the table for which message should be set
3210
+ */
3211
+ sSmartTableId: string,
3212
+ /**
3213
+ * If switching between different table views is enabled, this parameter can be used to identify the views
3214
+ * which are affected by this call. Faulty values indicate that all views should be affected. Otherwise
3215
+ * the value should either be one string or an array of strings identifying the affected variant items.
3216
+ */
3217
+ vTabKey?: any[] | string,
3218
+ /**
3219
+ * A function that is called when the user closes the message bar. Note that the messages for all tabs specified
3220
+ * via `vTabKey` will be considered to be obsolete when the user closes the message bar while one of them
3221
+ * is active.
3222
+ */
3223
+ onClose?: Function
3224
+ ): void;
3225
+ /**
3226
+ * Provide an option for showing an own message in the message bar above an OP table
3227
+ */
3228
+ setCustomMessage(
3229
+ /**
3230
+ * Id of the table for which message should be set
3231
+ */
3232
+ sSmartTableId: string,
3233
+ /**
3234
+ * If switching between different table views is enabled, this parameter can be used to identify the views
3235
+ * which are affected by this call. Faulty values indicate that all views should be affected. Otherwise
3236
+ * the value should either be one string or an array of strings identifying the affected variant items.
3237
+ */
3238
+ vTabKey?: any[] | string,
3239
+ /**
3240
+ * A function that is called when the user closes the message bar. Note that the messages for all tabs specified
3241
+ * via `vTabKey` will be considered to be obsolete when the user closes the message bar while one of them
3242
+ * is active.
3243
+ */
3244
+ onClose?: Function
3245
+ ): void;
3246
+ /**
3247
+ * @EXPERIMENTAL
3248
+ *
3249
+ * This function sets the key in the selected section of the table of Object Page.
3250
+ */
3251
+ setQuickVariantSelectionKey(
3252
+ /**
3253
+ * id of the section in Object Page mentioned in manifest of the application
3254
+ */
3255
+ sSectionKey: string,
3256
+ /**
3257
+ * The key of variant item that is currently need to be set.
3258
+ */
3259
+ sKey: string
3260
+ ): void;
3261
+ }
3262
+ }
3263
+
3264
+ declare module "sap/suite/ui/generic/template/ObjectPage/extensionAPI/NonDraftTransactionController" {
3265
+ import BaseObject from "sap/ui/base/Object";
3266
+
3267
+ import Context from "sap/ui/model/Context";
3268
+
3269
+ import Metadata from "sap/ui/base/Metadata";
3270
+
3271
+ export default class NonDraftTransactionController extends BaseObject {
3272
+ /**
3273
+ * Non Draft transaction controller to be used in extensions of ObjectPage. Breakout coding can access an
3274
+ * instance of this class via `ExtensionAPI.getTransactionController`. Do not instantiate yourself.
3275
+ */
3276
+ constructor();
3277
+
3278
+ /**
3279
+ * Creates a new subclass of class sap.suite.ui.generic.template.ObjectPage.extensionAPI.NonDraftTransactionController
3280
+ * with name `sClassName` and enriches it with the information contained in `oClassInfo`.
3281
+ *
3282
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.Object.extend}.
3283
+ *
3284
+ * @returns Created class / constructor function
3285
+ */
3286
+ static extend<T extends Record<string, unknown>>(
3287
+ /**
3288
+ * Name of the class being created
3289
+ */
3290
+ sClassName: string,
3291
+ /**
3292
+ * Object literal with information about the class
3293
+ */
3294
+ oClassInfo?: sap.ClassInfo<T, NonDraftTransactionController>,
3295
+ /**
3296
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
3297
+ * used by this class
3298
+ */
3299
+ FNMetaImpl?: Function
3300
+ ): Function;
3301
+ /**
3302
+ * Returns a metadata object for class sap.suite.ui.generic.template.ObjectPage.extensionAPI.NonDraftTransactionController.
3303
+ *
3304
+ * @returns Metadata object describing this class
3305
+ */
3306
+ static getMetadata(): Metadata;
3307
+ /**
3308
+ * Attach a handler to the cancel event
3309
+ */
3310
+ attachAfterCancel(
3311
+ /**
3312
+ * the handler function
3313
+ */
3314
+ fnFunction: Function
3315
+ ): void;
3316
+ /**
3317
+ * Attach a handler to the delete event
3318
+ */
3319
+ attachAfterDelete(
3320
+ /**
3321
+ * the handler function
3322
+ */
3323
+ fnFunction: Function
3324
+ ): void;
3325
+ /**
3326
+ * Attach a handler to the line item delete event (for smart tables in object page)
3327
+ */
3328
+ attachAfterLineItemDelete(
3329
+ /**
3330
+ * the handler function
3331
+ */
3332
+ fnFunction: Function
3333
+ ): void;
3334
+ /**
3335
+ * Attach a handler to the save event
3336
+ */
3337
+ attachAfterSave(
3338
+ /**
3339
+ * the handler function
3340
+ */
3341
+ fnFunction: Function
3342
+ ): void;
3343
+ /**
3344
+ * This method can be called when a new entry with predefined values should be created (e.g. in a copy scenario).
3345
+ *
3346
+ * @returns a context representing the object to be created. It can be passed to {@link sap.suite.ui.generic.template.extensionAPI.NavigationController#navigateInternal}
3347
+ * in order to visit the corresponding object page.
3348
+ */
3349
+ createEntry(
3350
+ /**
3351
+ * an object containing predefined values for the new entity (see parameter `mParameters.properties` of
3352
+ * {@link sap.ui.model.odata.v2.ODataModel#createEntry} for details)
3353
+ */
3354
+ vPredefinedValues: undefined
3355
+ ): Context;
3356
+ /**
3357
+ * Detach a handler from the cancel event
3358
+ */
3359
+ detachAfterCancel(
3360
+ /**
3361
+ * the handler function
3362
+ */
3363
+ fnFunction: Function
3364
+ ): void;
3365
+ /**
3366
+ * Detach a handler from the delete event
3367
+ */
3368
+ detachAfterDelete(
3369
+ /**
3370
+ * the handler function
3371
+ */
3372
+ fnFunction: Function
3373
+ ): void;
3374
+ /**
3375
+ * Detach a handler from the save event
3376
+ */
3377
+ detachAfterSave(
3378
+ /**
3379
+ * the handler function
3380
+ */
3381
+ fnFunction: Function
3382
+ ): void;
3383
+ /**
3384
+ * Registers a function that provides information whether there are unsaved custom data
3385
+ *
3386
+ * This method must be used when an extension ui may contain user input that is **not** bound to the standard
3387
+ * OData model of the app. In this case a function must be provided that returns the information whether
3388
+ * the extension ui still contains unsaved user changes.
3389
+ */
3390
+ registerUnsavedDataCheckFunction(
3391
+ /**
3392
+ * Callback function returning either true or false
3393
+ */
3394
+ fnHasUnsavedData: Function
3395
+ ): void;
3396
+ }
3397
+ }
3398
+
3399
+ declare namespace sap {
3400
+ interface IUI5DefineDependencyNames {
3401
+ "sap/suite/ui/generic/template/AnalyticalListPage/controllerFrameworkExtensions": undefined;
3402
+
3403
+ "sap/suite/ui/generic/template/AnalyticalListPage/extensionAPI/ExtensionAPI": undefined;
3404
+
3405
+ "sap/suite/ui/generic/template/Canvas/extensionAPI/ExtensionAPI": undefined;
3406
+
3407
+ "sap/suite/ui/generic/template/extensionAPI/extensionAPI": undefined;
3408
+
3409
+ "sap/suite/ui/generic/template/extensionAPI/NavigationController": undefined;
3410
+
3411
+ "sap/suite/ui/generic/template/extensionAPI/ReuseComponentSupport": undefined;
3412
+
3413
+ "sap/suite/ui/generic/template/lib/AppComponent": undefined;
3414
+
3415
+ "sap/suite/ui/generic/template/library": undefined;
3416
+
3417
+ "sap/suite/ui/generic/template/ListReport/controllerFrameworkExtensions": undefined;
3418
+
3419
+ "sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI": undefined;
3420
+
3421
+ "sap/suite/ui/generic/template/ListReport/extensionAPI/NonDraftTransactionController": undefined;
3422
+
3423
+ "sap/suite/ui/generic/template/ObjectPage/controllerFrameworkExtensions": undefined;
3424
+
3425
+ "sap/suite/ui/generic/template/ObjectPage/extensionAPI/DraftTransactionController": undefined;
3426
+
3427
+ "sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI": undefined;
3428
+
3429
+ "sap/suite/ui/generic/template/ObjectPage/extensionAPI/NonDraftTransactionController": undefined;
3430
+ }
3431
+ }