// This is autogenerated, do not edit declare module "sap/fe/core/controllerextensions/MessageHandlerOverrides" { /** * Defines the message details relevant for the MessageButton building block to display a popover. * @public */ export type MessageDetail = { message: Message; groupName?: string; activeTitleHandler?: Function; }; import type Message from "sap/ui/core/message/Message"; export default interface MessageHandlerOverrides { /** * Allows the consumer of the MessageButton building block to decide which bound messages are shown and how. * * This hook is called when the MessageButton building block detects a change in the message model. * The hooks allow you to define the behavior for messages in the MessageButton building block. * * Consumers are able to do the following with this hook: * * 1. Filter out messages so that they are not shown on the message button. * 2. Group messages based on their UI. * 3. Provide a presser handler if the message should display as a link. * @param _messageDetails Object containing the details related to the message. * @param _messageDetails.message The message from the message. It must not be modified directly. * @param _messageDetails.groupName The group name associated with the current message. * @param _messageDetails.activeTitleHandler Function to handle the click event on a message in the MessageButton building block. * @returns A promise that must be returned by the overridden method. * @public */ beforeShowMessageButton(_messageDetails: MessageDetail[]): Promise; } } declare module "sap/fe/core/controllerextensions/EditFlowOverrides" { import type { default as Context } from "sap/ui/model/odata/v4/Context"; export default interface EditFlowOverrides { /** * This function can be used to intercept the 'Create' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Create' action. * If you reject the promise, the 'Create' action is stopped. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onBeforeCreate * @param _mParameters.contextPath Path pointing to the context on which Create action is triggered * @param _mParameters.createParameters Array of values that are filled in the Action Parameter Dialog * @returns A promise to be returned by the overridden method. If resolved, the 'Create' action is triggered. If rejected, the 'Create' action is not triggered. * @public * @since 1.98.0 */ onBeforeCreate(_mParameters?: { contextPath?: string; createParameters?: unknown[] }): Promise; /** * This function can be used to intercept the 'Edit' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Edit' action. * If you reject the promise, the 'Edit' action is stopped and the user stays in display mode. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onBeforeEdit * @param _mParameters.context Page context that is going to be edited. * @returns A promise to be returned by the overridden method. If resolved, the 'Edit' action is triggered. If rejected, the 'Edit' action is not triggered and the user stays in display mode. * @public * @since 1.98.0 */ onBeforeEdit(_mParameters?: { context?: Context }): Promise; /** * This function can be used to intercept the 'Save' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Save' action. * If you reject the promise, the 'Save' action is stopped and the user stays in edit mode. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onBeforeSave * @param _mParameters.context Page context that is going to be saved. * @returns A promise to be returned by the overridden method. If resolved, the 'Save' action is triggered. If rejected, the 'Save' action is not triggered and the user stays in edit mode. * @public * @since 1.90.0 */ onBeforeSave(_mParameters?: { context?: Context }): Promise; /** * This function can be used to intercept the 'Discard' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Discard' action. * If you reject the promise, the 'Discard' action is stopped and the user stays in edit mode. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onBeforeDiscard * @param _mParameters.context Page context that is going to be discarded. * @returns A promise to be returned by the overridden method. If resolved, the 'Discard' action is triggered. If rejected, the 'Discard' action is not triggered and the user stays in edit mode. * @public * @since 1.98.0 */ onBeforeDiscard(_mParameters?: { context?: Context }): Promise; /** * This function can be used to intercept the 'Delete' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Delete' action. * If you reject the promise, the 'Delete' action is stopped. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onBeforeDelete * @param _mParameters.contexts An array of contexts that are going to be deleted * @returns A promise to be returned by the overridden method. If resolved, the 'Delete' action is triggered. If rejected, the 'Delete' action is not triggered. * @public * @since 1.98.0 */ onBeforeDelete(_mParameters?: { contexts?: Context[] }): Promise; /** * This function can be used to execute code after the 'Save' action. * You can execute custom coding in this function. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onAfterSave * @param _mParameters.context The context we obtained after saving * @returns A promise to be returned by the overridden method. If rejected, any further processing by the framework is stopped. * @public * @since 1.116.0 */ onAfterSave(_mParameters?: { context?: Context }): Promise; /** * This function can be used to execute code after the 'Create' action. * You can execute custom coding in this function. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onAfterCreate * @param _mParameters.context The newly created context * @returns A promise to be returned by the overridden method. If rejected, any further processing by the framework is stopped. * @public * @since 1.116.0 */ onAfterCreate(_mParameters?: { context?: Context }): Promise; /** * This function can be used to execute code after the 'Edit' action. * You can execute custom coding in this function. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onAfterEdit * @param _mParameters.context Page context that is going to be edited. * @returns A promise to be returned by the overridden method. If rejected, any further processing by the framework is stopped. * @public * @since 1.116.0 */ onAfterEdit(_mParameters?: { context?: Context }): Promise; /** * This function can be used to execute code after the 'Discard' action. * You can execute custom coding in this function. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onAfterDiscard * @param _mParameters.context The context obtained after discarding the object, or undefined if we discarded a new object * @returns A promise to be returned by the overridden method. If rejected, any further processing by the framework is stopped. * @public * @since 1.116.0 */ onAfterDiscard(_mParameters?: { context?: Context }): Promise; /** * This function can be used to execute code after the 'Delete' action. * You can execute custom coding in this function. * * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param _mParameters Object containing the parameters passed to onAfterDelete * @param _mParameters.contexts An array of contexts that are going to be deleted * @returns A promise to be returned by the overridden method. If rejected, any further processing by the framework is stopped. * @public * @since 1.116.0 */ onAfterDelete(_mParameters?: { contexts?: Context[] }): Promise; /** * This function can be used to execute code on the mass edit save. * You can execute custom coding in this function. * If you decide to do your own save processing, you can return `true` to prevent the default save behavior. * * This function is meant to be individually overridden by consuming controllers but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.Instead}. * @param _mParameters Object containing the parameters passed to customMassEditSave * @param _mParameters.aContexts Array containing the selected contexts for the mass edit * @param _mParameters.oUpdateData A dictionary containing the propertyPath and its value * @returns `true` to prevent the default execution, `false` to keep the standard behavior * @public * @since 1.130.0 */ customMassEditSave(_mParameters: { aContexts: Context[]; oUpdateData: Record }): Promise; } } declare module "sap/fe/core/controllerextensions/IntentBasedNavigationOverrides" { import type SelectionVariant from "sap/fe/navigation/SelectionVariant"; export default interface IntentBasedNavigationOverrides { /** * Provides a hook to customize the {@link sap.fe.navigation.SelectionVariant} related to the intent-based navigation. * @param _oSelectionVariant SelectionVariant provided by SAP Fiori elements. * @param _oNavigationInfo Object containing intent-based navigation-related info * @param _oNavigationInfo.semanticObject Semantic object related to the intent * @param _oNavigationInfo.action Action related to the intent * @public * @since 1.86.0 */ adaptNavigationContext( _oSelectionVariant: SelectionVariant, _oNavigationInfo: { semanticObject: string; action: string; } ): void; } } declare module "sap/fe/core/controllerextensions/PaginatorOverrides" { import type { ContextNavigationType } from "sap/fe/core/library"; import type { default as Context } from "sap/ui/model/odata/v4/Context"; export default interface PaginatorOverrides { /** * Returns the updated context after the paginator operation. * @param oContext Final context returned after the paginator action * @public * @since 1.94.0 */ // eslint-disable-next-line @typescript-eslint/no-unused-vars onContextUpdate(oContext: Context): void; /** * This method is invoked whenever a context is loaded using the paginator buttons. It determines whether the context supports navigation. The method must return one of the following: * ContextNavigationType.None: If the context is not navigable. * ContextNavigationType.Internal: If the context supports internal navigation within the same application to a detail view, such as an object page or a subobject page. * ContextNavigationType.External: If the context navigates to an external application. * The paginator buttons only allow navigation to contexts with internal navigation. Contexts with None or External navigation are skipped. * @param context Object containing the context to be navigated. * @returns A Promise which should resolve to ContextNavigationType enum. * @public * @since 1.138.0 */ determineContextNavigationType(context: Context): Promise; } } declare module "sap/fe/core/controllerextensions/RoutingOverrides" { import type Context from "sap/ui/model/odata/v4/Context"; export default interface RoutingOverrides { /** * This function can be used to intercept the routing event during the normal navigation process, such as when a table row is clicked to navigate, pagination buttons are used, the Apply button in an object page is clicked, or a sub-object page in a flexible column layout is closed. * * The function is not called during other means of external outbound navigation such as a navigation configured using a link or by using navigation buttons. * * If declared as an extension, it allows you to intercept and change the normal navigation flow. * If you decide to implement your own navigation processing, you can return `true` to prevent the default routing behavior. * * This function is meant to be individually overridden by consuming controllers and not called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param mNavigationParameters Object containing row context and page context * @param mNavigationParameters.bindingContext The target navigation context * @returns `true` to prevent the default execution, false to keep the standard behavior * @public * @since 1.86.0 */ onBeforeNavigation(mNavigationParameters: { bindingContext: Context }): Promise; /** * This function is used to intercept the routing event before binding a page. * * If it is declared as an extension, it allows you to intercept and change the normal flow of binding. * * This function is not called directly, but overridden separately by consuming controllers. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param oContext Object containing the context for the navigation * @public * @since 1.90.0 */ // eslint-disable-next-line @typescript-eslint/no-unused-vars onBeforeBinding(oContext: object | null): void; /** * This function is used to intercept the routing event after binding a page. * * If it is declared as an extension, it allows you to intercept and change the normal flow of binding. * * This function is not called directly, but overridden separately by consuming controllers. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}. * @param oContext Object containing the context to be navigated * @public * @since 1.90.0 */ // eslint-disable-next-line @typescript-eslint/no-unused-vars onAfterBinding(oContext: object | null): void; } } declare module "sap/fe/core/controllerextensions/ShareOverrides" { export type ShareMetadata = { url: string; title: string; email: { url: string; title: string; }; jam: { url?: string; title: string; }; tile: { url?: string; title: string; subtitle: string; icon?: string; queryUrl?: string; }; }; export default interface ShareOverrides { /** * Adapts the metadata used while sharing the page URL using 'Send Email', 'Share in SAP Jam', and 'Save as Tile'. * @param oShareMetadata Object containing the share metadata. * @param oShareMetadata.url Default URL that will be used with 'Send Email', 'Share in SAP Jam', and 'Save as Tile' * @param oShareMetadata.title Default title that will be used as the 'email subject' in 'Send Email', 'share text' in 'Share in SAP Jam' and 'title' in 'Save as Tile' * @param oShareMetadata.email Email-specific metadata. * @param oShareMetadata.email.url URL that will be used specifically for 'Send Email'. This takes precedence over oShareMetadata.url. * @param oShareMetadata.email.title Title that will be used as "email subject" in 'Send Email'. This takes precedence over oShareMetadata.title. * @param oShareMetadata.jam SAP Jam-specific metadata. * @param oShareMetadata.jam.url URL that will be used specifically for 'Share in SAP Jam'. This takes precedence over oShareMetadata.url. * @param oShareMetadata.jam.title Title that will be used as 'share text' in 'Share in SAP Jam'. This takes precedence over oShareMetadata.title. * @param oShareMetadata.tile Save as Tile-specific metadata. * @param oShareMetadata.tile.url URL that will be used specifically for 'Save as Tile'. This takes precedence over oShareMetadata.url. * @param oShareMetadata.tile.title Title to be used for the tile. This takes precedence over oShareMetadata.title. * @param oShareMetadata.tile.subtitle Subtitle to be used for the tile. * @param oShareMetadata.tile.icon Icon to be used for the tile. * @param oShareMetadata.tile.queryUrl Query URL of an OData service from which data for a dynamic tile is read. * @returns Share Metadata or a Promise resolving the Share Metadata * @public * @since 1.93.0 */ adaptShareMetadata(oShareMetadata: { url: string; title: string; email: { url: string; title: string; }; jam: { url?: string; title: string; }; tile: { url?: string; title: string; subtitle: string; icon?: string; queryUrl?: string; }; }): ShareMetadata | Promise; } } declare module "sap/fe/core/controllerextensions/ViewStateOverrides" { export default interface ViewStateOverrides { /** * Called when the application is suspended due to keep-alive mode. * @public */ onSuspend(): void; /** * Called when the application is restored due to keep-alive mode. * @public */ onRestore(): void; } } declare module "sap/fe/core/controllerextensions/BaseControllerExtension" { import type PageController from "sap/fe/core/PageController"; import type EditFlowOverrides from "sap/fe/core/controllerextensions/EditFlowOverrides"; import type IntentBasedNavigationOverride from "sap/fe/core/controllerextensions/IntentBasedNavigationOverrides"; import type MessageHandlerOverrides from "sap/fe/core/controllerextensions/MessageHandlerOverrides"; import type PaginatorOverrides from "sap/fe/core/controllerextensions/PaginatorOverrides"; import type RoutingOverrides from "sap/fe/core/controllerextensions/RoutingOverrides"; import type ShareOverrides from "sap/fe/core/controllerextensions/ShareOverrides"; import type ViewStateOverrides from "sap/fe/core/controllerextensions/ViewStateOverrides"; import ControllerExtension from "sap/ui/core/mvc/ControllerExtension"; type MapThis = { [P in keyof S]?: S[P] extends (...args: infer A) => infer R ? (this: T, ...args: A) => R : S[P]; }; export type ControllerExtensionOverrides = { // Lifecycle hooks onInit?: (this: T) => void; onBeforeRendering?: (this: T) => void; onAfterRendering?: (this: T) => void; onExit?: (this: T) => void; // CExt Hooks paginator?: MapThis; editFlow?: MapThis; routing?: MapThis; messageHandler?: MapThis; intentBasedNavigation?: MapThis; share?: MapThis; viewState?: MapThis; } & MapThis< T, Omit< ControllerType, "editFlow" | "paginator" | "routing" | "messageHandler" | "intentBasedNavigation" | "recommendations" | "share" | "viewState" > >; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore export default class BaseControllerExtension extends ControllerExtension { protected base: T; public static createExtensionOverrides( overrides: ControllerExtensionOverrides ): ControllerExtensionOverrides; constructor(); } } // For Library Version: 1.148.1 declare module "sap/fe/core/AppComponent" { import { default as UIComponent, $UIComponentSettings, } from "sap/ui/core/UIComponent"; import { IAsyncContentCreation } from "sap/ui/core/library"; /** * Main class for components used for an application in SAP Fiori elements. * Application developers using the templates and building blocks provided by SAP Fiori elements should * create their apps by extending this component. * This ensures that all the necessary services that you need for the building blocks and templates to work * are started. * When you use sap.fe.core.AppComponent as the base component, you also need to use a rootView. SAP Fiori * elements provides two options: * * - sap.fe.core.rootView.NavContainer when using sap.m.routing.Router * * - sap.fe.core.rootView.Fcl when using sap.f.routing.Router (FCL use case) */ export default class AppComponent extends UIComponent implements IAsyncContentCreation { __implements__sap_ui_core_IAsyncContentCreation: boolean; /** * Changes the page configuration of SAP Fiori elements. * This method enables you to change the page configuration of SAP Fiori elements. */ changePageConfiguration( /** * The ID of the page for which the configuration is to be changed. */ pageId: string, /** * The path in the page settings for which the configuration is to be changed. */ path: string, /** * The new value of the configuration. This could be a plain value like a string, or a Boolean, or a structured * object. */ value: any ): void; /** * Provides a hook to initialize feature toggles. * This hook is being called by the SAP Fiori elements AppComponent at the time feature toggles can be initialized. * To change page configuration, use the {@link sap.fe.core.AppComponent#changePageConfiguration } method. * * * * @returns A promise without any value to allow asynchronous processes */ initializeFeatureToggles(): Promise; } /** * Describes the settings that can be provided to the AppComponent constructor. */ export interface $AppComponentSettings extends $UIComponentSettings {} } declare module "sap/fe/core/BaseController" { import Controller from "sap/ui/core/mvc/Controller"; import AppComponent from "sap/fe/core/AppComponent"; import Model from "sap/ui/model/Model"; import View from "sap/ui/core/mvc/View"; /** * Internal base controller class for SAP Fiori elements application. * If you want to extend a base controller for your custom page, please use for sap.fe.core.PageController. * * * @since 1.90.0 */ export default class BaseController extends Controller { /** * Returns the current app component. * * @since 1.91.0 * * @returns The app component or, if not found, null */ getAppComponent(): AppComponent; /** * Convenience method provided by SAP Fiori elements to enable applications to include the view model by * name into each controller. * * * @returns The model instance */ getModel( /** * The model name */ sName?: string ): Model | undefined; /** * Convenience method for setting the view model in every controller of the application. * * * @returns The view instance */ setModel( /** * The model instance */ oModel: Model, /** * The model name */ sName: string ): View; } } declare module "sap/fe/core/ExtensionAPI" { import BaseObject from "sap/ui/base/Object"; import Control from "sap/ui/core/Control"; import UI5Element from "sap/ui/core/Element"; import EditFlow from "sap/fe/core/controllerextensions/EditFlow"; import IntentBasedNavigation from "sap/fe/core/controllerextensions/IntentBasedNavigation"; import Model from "sap/ui/model/Model"; import Routing from "sap/fe/core/controllerextensions/Routing"; import Context from "sap/ui/model/Context"; import Context1 from "sap/ui/model/odata/v4/Context"; import { WatcherCallback } from "sap/fe/core/controls/DataWatcher"; /** * Common Extension API for all pages of SAP Fiori elements for OData V4. * To correctly integrate your app extension coding with SAP Fiori elements, use only the extensionAPI of * SAP Fiori elements. Don't access or manipulate controls, properties, models, or other internal objects * created by the SAP Fiori elements framework. * {@link demo:sap/fe/core/fpmExplorer/index.html#/controllerExtensions/controllerExtensionsOverview Overview of Building Block} * * * @since 1.79.0 */ export default class ExtensionAPI extends BaseObject { /** * Add any control as a dependent control to this SAP Fiori elements page. */ addDependent( /** * Control to be added as a dependent control */ oControl: Control ): void; /** * Access a control by its ID. If you attempt to access an internal control instead of the stable API, the * method will raise an error. * * * @returns The requested control, if found in the view / section. */ byId( /** * ID of the control without view and section prefix. */ id: string ): UI5Element | undefined; /** * Retrieves the editFlow controller extension for this page. * * * @returns The editFlow controller extension */ getEditFlow(): EditFlow; /** * Retrieves the intentBasedNavigation controller extension for this page. * * * @returns The intentBasedNavigation controller extension */ getIntentBasedNavigation(): IntentBasedNavigation; /** * Get access to models managed by SAP Fiori elements. * * The following models can be accessed: * * * - undefined: the undefined model returns the SAPUI5 OData V4 model bound to this page * * - i18n / further data models defined in the manifest * ui: returns a SAPUI5 JSON model containing UI information. * Only the following properties are public and supported: * * * - isEditable: set to true if the application is in edit mode * * * . * editMode is deprecated and should not be used anymore. Use isEditable instead. * * * @returns The required model */ getModel( /** * Name of the model */ sModelName?: string ): Model | undefined; /** * Retrieves the routing controller extension for this page. * * * @returns The routing controller extension */ getRouting(): Routing; /** * Load a fragment and go through the template preprocessor with the current page context. * * * @returns The fragment definition */ loadFragment( /** * The settings object */ mSettings: { /** * The contextPath to be used for the templating process */ contextPath?: string; /** * The controller to be attached to the fragment */ controller?: object; /** * The ID of the fragment itself */ id: string; /** * The initial binding context */ initialBindingContext?: Context; /** * The name of the fragment to be loaded */ name: string; } ): Promise; /** * Navigate to another target. */ navigateToTarget( /** * Name of the target route */ sTarget: string, /** * OData v4 context instance */ oContext: Context1 ): void; /** * Remove a dependent control from this SAP Fiori elements page. */ removeDependent( /** * Control to be added as a dependent control */ oControl: Control ): void; /** * Run the given function with the FPM context of the current page. * This allows to initialize all the elements required by building blocks to render correctly. * * * @returns The result of the function */ runWithFPMContext( /** * The Function to be executed */ fn: Function ): any; /** * Triggers an update of the app state. * Should be called if the state of a control, or any other state-relevant information, was changed. * * * @returns A promise that resolves with the new app state object. */ updateAppState(): any; /** * Watch a property from the main page context and trigger a callback when the value changes. */ watchProperty( /** * The name of the property to watch */ propertyName: string, /** * The callback to trigger when the value changes */ callback: WatcherCallback ): void; } } declare module "sap/fe/core/library" { /** * Possible navigation modes for a pagination. * * @since 1.138.0 */ export enum ContextNavigationType { /** * Indicates that the navigation is to an external application. */ External = "undefined", /** * Indicates that the navigation is to a subobject page within the same application. */ Internal = "undefined", /** * Indicates that there is no navigation. */ None = "undefined", } /** * Possible initial load (first app startup) modes for a ListReport. * * @since 1.86.0 */ export enum InitialLoadMode { /** * Data will be loaded initially if filters are set. */ Auto = "undefined", /** * Data will not be loaded initially. */ Disabled = "undefined", /** * Data will be loaded initially. */ Enabled = "undefined", } } declare module "sap/fe/core/PageController" { import BaseController from "sap/fe/core/BaseController"; import ExtensionAPI from "sap/fe/core/ExtensionAPI"; /** * Base controller class for your custom page used inside an SAP Fiori elements application. * This controller provides preconfigured extensions that ensure you have the basic functionalities required * to use the building blocks. * * * @since 1.88.0 */ export default class PageController extends BaseController { /** * Get the extension API for the current page. * * * @returns The extension API. */ getExtensionAPI(): ExtensionAPI; } } declare module "sap/fe/core/ReuseComponent" { import { default as Component, $ComponentSettings, } from "sap/fe/core/fpm/Component"; import Event from "sap/ui/base/Event"; import ExtensionAPI from "sap/fe/core/ExtensionAPI"; /** * Base component for reuse compontents in SAP Fiori elements. * By extending from this component you get access to the extension API of the page component * and get native support for SAP Fiori elements building blocks. * * * @since 1.145.0 */ export default class ReuseComponent extends Component { /** * * @returns Reference to sap.fe.core.ReuseComponent * to allow method chaining */ attachInitialized( /** * An application-specific payload object that will be passed to the event handler along with the event * object when firing the event */ oData: object, /** * The function to be called when the event occurs */ fnFunction: (p1: Event) => void, /** * The context object to call the event handler with. Defaults to this `this` control */ oListener?: object ): this; /** * * @returns Reference to sap.fe.core.ReuseComponent * to allow method chaining */ attachInitialized( /** * The function to be called when the event occurs */ fnFunction: (p1: Event) => void, /** * The context object to call the event handler with. Defaults to this `this` control */ oListener?: object ): this; /** * * @returns Reference to sap.fe.core.ReuseComponent * to allow method chaining */ detachInitialized( /** * The function to be called when the event occurs */ fnFunction: (p1: Event) => void, /** * The context object to call the event handler with. Defaults to this `this` control */ oListener?: object ): this; /** * Fires event initialized * to attached listeners. * * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns Reference to sap.fe.core.ReuseComponent * to allow method chaining */ fireInitialized( /** * The parameters to pass along with the event. * See {@link Function} for the set of parameters that are expected by the event handlers. */ mParameters?: {} ): this; /** * Returns the extension API of the page component that owns the reuse component. * * * @returns The extension API */ getExtensionAPI(): ExtensionAPI; } /** * Describes the settings that can be provided to the ReuseComponent constructor. */ export interface $ReuseComponentSettings extends $ComponentSettings { /** * Event that is fired once the component is initialized */ initialized?: (oEvent: Event) => void; } /** * Parameters of the ReuseComponent#initialized event. */ export interface ReuseComponent$InitializedEventParameters {} /** * Event object of the ReuseComponent#initialized event. */ export type ReuseComponent$InitializedEvent = Event< ReuseComponent$InitializedEventParameters, ReuseComponent >; } declare module "sap/fe/core/TemplateComponent" { import { default as UIComponent, $UIComponentSettings, } from "sap/ui/core/UIComponent"; import { IAsyncContentCreation } from "sap/ui/core/library"; import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; /** * Base component for SAP Fiori elements floorplans. * This component provides as foundation for all SAP Fiori elements page types, and shall not be used directly. * * * @since 1.145.0 */ export default class TemplateComponent extends UIComponent implements IAsyncContentCreation, /* was: sap.fe.core.buildingBlocks.IBuildingBlockOwnerComponent.IBuildingBlockOwnerComponent */ Object { __implements__sap_ui_core_IAsyncContentCreation: boolean; __implements__sap_fe_core_buildingBlocks_IBuildingBlockOwnerComponent_IBuildingBlockOwnerComponent: boolean; } /** * Describes the settings that can be provided to the TemplateComponent constructor. */ export interface $TemplateComponentSettings extends $UIComponentSettings { /** * Defines the path of the context used in the current page. */ contextPath?: string | PropertyBindingInfo; /** * Enhance the i18n bundle used for this page with one or more app specific i18n resource bundles or resource * models * or a combination of both. The last resource bundle or model is given the highest priority. */ enhanceI18n?: string[] | PropertyBindingInfo | `{${string}}`; } } declare module "sap/fe/core/buildingBlocks/BuildingBlock" { import { default as BuildingBlockBase, $BuildingBlockBaseSettings, } from "sap/fe/base/BuildingBlockBase"; /** * Defines a control that will not exist in the DOM. * Instead, only its child will be there and this control will forward all DOM related instruction to it. * * @since 1.121.0 */ export default class BuildingBlock extends BuildingBlockBase {} /** * Describes the settings that can be provided to the BuildingBlock constructor. */ export interface $BuildingBlockSettings extends $BuildingBlockBaseSettings {} } declare module "sap/fe/core/controllerextensions/BaseControllerExtension" { import ControllerExtension from "sap/ui/core/mvc/ControllerExtension"; /** * A base implementation for controller extension used internally in sap.fe for central functionalities. * * @since 1.118.0 */ // @ts-ignore export default class BaseControllerExtension extends ControllerExtension { /** * Create the overrides for the controller extension. * This method is a helper to get the correct typing when implementing your own controller extension. * * * * @returns The overrides passed in as parameter with correct typing */ static createExtensionOverrides( /** * The overrides to apply */ overrides: object ): object; } } declare module "sap/fe/core/controllerextensions/CollaborativeDraft" { import BaseControllerExtension from "sap/fe/core/controllerextensions/BaseControllerExtension"; import Context from "sap/ui/model/odata/v4/Context"; import ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding"; /** * A controller extension to handle collaborative draft scenarios. * * @since 1.141.0 */ export default class CollaborativeDraft extends BaseControllerExtension { /** * Sends a notification to other users that new contexts have been created by the current user. * This notification must be sent after the new contexts have been created successfully in the back end. * * * @since 1.141.0 */ sendContextsCreated( /** * The array of newly created contexts, or the binding where the contexts were created */ contextsOrBinding: Context[] | ODataListBinding ): void; /** * Sends a notification to other users that contexts have been deleted by the current user. * This notification must be sent after the contexts have been deleted successfully in the back end. * * * @since 1.141.0 */ sendContextsDeleted( /** * The array of deleted contexts */ contexts: Context[] ): void; /** * Sends a notification to other users that a property has been locked or unlocked by the current user. * * @since 1.141.0 */ sendLockChange( /** * The context for the property */ context: Context, /** * The name of the property */ propertyName: string, /** * True if the property is locked, false if it is unlocked */ isLocked: boolean ): void; /** * Sends a notification to other users that property values have been changed by the current user. * This notification must be sent after the changes have been sent successfully to the back end. * * * @since 1.141.0 */ sendPropertyValuesChange( /** * The context for the properties */ context: Context, /** * The property name or the array of property names */ propertyNames: string | string[] ): void; } } declare module "sap/fe/core/controllerextensions/EditFlow" { import BaseControllerExtension from "sap/fe/core/controllerextensions/BaseControllerExtension"; import Context from "sap/ui/model/odata/v4/Context"; import Button from "sap/m/Button"; import ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding"; import ODataModel from "sap/ui/model/odata/v4/ODataModel"; import Binding from "sap/ui/model/Binding"; /** * A controller extension offering hooks into the edit flow of the application * * @since 1.90.0 */ export default class EditFlow extends BaseControllerExtension { /** * Submit the current set of changes and navigate back. * * @since 1.90.0 * * @returns Promise resolves once the changes have been saved */ applyDocument( /** * Context of the document */ oContext: Context ): Promise; /** * Discard the editable document. * * @since 1.90.0 * * @returns Promise resolves once editable document has been discarded */ cancelDocument( /** * Context of the editable document */ oContext: Context, /** * Can contain the following attributes: */ mParameters: { /** * This is the control used to open the discard popover */ control?: Button; /** * Optional, supresses the discard popover and allows custom handling */ skipDiscardPopover?: boolean; } ): Promise; /** * Creates a new document. * * @since 1.90.0 * * @returns Promise resolves once the object has been created */ createDocument( /** * ODataListBinding object or the binding path or a table building block for a temporary list binding */ source: /* was: sap.fe.macros.Table */ any | ODataListBinding | string, /** * Contains the following attributes: */ mInParameters: { /** * Specifies if the new entry should be created at the top or bottom of a table in case of creationMode * 'Inline' */ createAtEnd?: boolean; /** * Defines the list of properties that are displayed in the creation dialog when the creation mode is set * to 'CreationDialog'. * The value is a comma-separated list of property names */ creationDialogFields?: string[]; /** * The creation mode using one of the following: * * NewPage - the created document is shown in a new page, depending on whether metadata 'Sync', 'Async', * or 'Deferred' is used * * Inline - The creation is done within the table. Not supported on a List Report * * External - The creation is done in a different application specified by the parameter 'outbound' * * CreationDialog - the creation is done in the table, with a dialog allowing to specify some initial property * values (the properties are listed in `creationDialogFields`) */ creationMode: string; /** * The initial data for the created document */ data?: object; /** * The navigation target where the document is created in case of creationMode 'External' */ outbound?: string; /** * The contexts that are selected in the table initiating the creation. Used in case of a TreeTable to determine * the parent context of the created document */ selectedContexts?: Context[]; /** * When enabled, an extra request checks if any drafts exist that were never saved. If unsaved drafts are * found, the newest one is opened. If no unsaved drafts are found, a new entity is created */ singleDraftForCreate?: boolean; /** * ID of the table */ tableId?: string; } ): Promise; /** * This function can be used to execute code on the mass edit save. * You can execute custom coding in this function. * If you decide to do your own save processing, you can return `true` to prevent the default save behavior. * This function is meant to be individually overridden by consuming controllers but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.Instead }. * * * @since 1.130.0 * * @returns `true` to prevent the default execution, `false` to keep the standard behavior */ customMassEditSave( /** * Object containing the parameters passed to customMassEditSave */ _mParameters: { /** * Array containing the selected contexts for the mass edit */ aContexts: Context[]; /** * A dictionary containing the propertyPath and its value */ oUpdateData: Record; } ): Promise; /** * Deletes the document. * * @since 1.90.0 * * @returns Promise resolves once document has been deleted */ deleteDocument( /** * Context of the document */ oContext: Context, /** * Can contain the following attributes: */ mInParameters?: { /** * Description of the object being deleted */ description?: string; /** * If true, prevents automatic navigation after the document is deleted. */ skipNavigation?: boolean; /** * Title of the object being deleted */ title?: string; } ): Promise; /** * Creates a draft document for the existing active document. * * @since 1.90.0 * * @returns Promise resolved once the editable document is available with the editable context */ editDocument( /** * Context of the active document */ context: Context ): Promise; /** * Invokes an action (bound or unbound) and tracks the changes so that other pages can be refreshed and * show the updated data upon navigation. * * @since 1.90.0 * * @returns A promise which resolves once the action has been executed. If resolved, the promise returns * * * - If the parameter contexts is an array: an array of objects, each object containing a key "status", * as well as "value" referencing the action status and the context * * - If the parameter contexts is not an array: a single context * * The context(s) provided in the promise is (are) either the return value context of the action or the * bound context if the return value is undefined. */ invokeAction( /** * The name of the action to be called */ sActionName: string, /** * Contains the following attributes: */ mInParameters?: { /** * For a bound action, a context or an array with contexts for which the action is to be called must be * provided */ contexts?: Context | Context[]; /** * Disables strict handling of action calls to turn off 412 confirmation popups */ disableStrictHandling?: boolean; /** * Mode how actions are to be called: 'ChangeSet' to put all action calls into one changeset, 'Isolated' * to put them into separate changesets */ invocationGrouping?: string; /** * A human-readable label for the action. This is needed in case the action has a parameter and a parameter * dialog is shown to the user. The label will be used for the title of the dialog and for the confirmation * button */ label?: string; /** * For an unbound action, an instance of an OData V4 model must be provided */ model?: ODataModel; /** * An optional array of objects representing the action parameters, where each object has a name of string * type and a value that can be of any data type. */ parameterValues?: any; /** * Boolean value indicating whether navigation is required after the action has been executed. Navigation * takes place to the context returned by the action */ requiresNavigation?: boolean; /** * Skips the action parameter dialog if values are provided for all of them in parameterValues */ skipParameterDialog?: boolean; } ): any; /** * This function can be used to execute code after the 'Create' action. * You can execute custom coding in this function. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.116.0 * * @returns A promise to be returned by the overridden method. If rejected, any further processing by the * framework is stopped. */ onAfterCreate( /** * Object containing the parameters passed to onAfterCreate */ _mParameters?: { /** * The newly created context */ context?: Context; } ): Promise; /** * This function can be used to execute code after the 'Delete' action. * You can execute custom coding in this function. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.116.0 * * @returns A promise to be returned by the overridden method. If rejected, any further processing by the * framework is stopped. */ onAfterDelete( /** * Object containing the parameters passed to onAfterDelete */ _mParameters?: { /** * An array of contexts that are going to be deleted */ contexts?: Context[]; } ): Promise; /** * This function can be used to execute code after the 'Discard' action. * You can execute custom coding in this function. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.116.0 * * @returns A promise to be returned by the overridden method. If rejected, any further processing by the * framework is stopped. */ onAfterDiscard( /** * Object containing the parameters passed to onAfterDiscard */ _mParameters?: { /** * The context obtained after discarding the object, or undefined if we discarded a new object */ context?: Context; } ): Promise; /** * This function can be used to execute code after the 'Edit' action. * You can execute custom coding in this function. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.116.0 * * @returns A promise to be returned by the overridden method. If rejected, any further processing by the * framework is stopped. */ onAfterEdit( /** * Object containing the parameters passed to onAfterEdit */ _mParameters?: { /** * Page context that is going to be edited. */ context?: Context; } ): Promise; /** * This function can be used to execute code after the 'Save' action. * You can execute custom coding in this function. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.116.0 * * @returns A promise to be returned by the overridden method. If rejected, any further processing by the * framework is stopped. */ onAfterSave( /** * Object containing the parameters passed to onAfterSave */ _mParameters?: { /** * The context we obtained after saving */ context?: Context; } ): Promise; /** * This function can be used to intercept the 'Create' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Create' action. * If you reject the promise, the 'Create' action is stopped. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.98.0 * * @returns A promise to be returned by the overridden method. If resolved, the 'Create' action is triggered. * If rejected, the 'Create' action is not triggered. */ onBeforeCreate( /** * Object containing the parameters passed to onBeforeCreate */ _mParameters?: { /** * Path pointing to the context on which Create action is triggered */ contextPath?: string; /** * Array of values that are filled in the Action Parameter Dialog */ createParameters?: any[]; } ): Promise; /** * This function can be used to intercept the 'Delete' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Delete' action. * If you reject the promise, the 'Delete' action is stopped. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.98.0 * * @returns A promise to be returned by the overridden method. If resolved, the 'Delete' action is triggered. * If rejected, the 'Delete' action is not triggered. */ onBeforeDelete( /** * Object containing the parameters passed to onBeforeDelete */ _mParameters?: { /** * An array of contexts that are going to be deleted */ contexts?: Context[]; } ): Promise; /** * This function can be used to intercept the 'Discard' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Discard' action. * If you reject the promise, the 'Discard' action is stopped and the user stays in edit mode. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.98.0 * * @returns A promise to be returned by the overridden method. If resolved, the 'Discard' action is triggered. * If rejected, the 'Discard' action is not triggered and the user stays in edit mode. */ onBeforeDiscard( /** * Object containing the parameters passed to onBeforeDiscard */ _mParameters?: { /** * Page context that is going to be discarded. */ context?: Context; } ): Promise; /** * This function can be used to intercept the 'Edit' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Edit' action. * If you reject the promise, the 'Edit' action is stopped and the user stays in display mode. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.98.0 * * @returns A promise to be returned by the overridden method. If resolved, the 'Edit' action is triggered. * If rejected, the 'Edit' action is not triggered and the user stays in display mode. */ onBeforeEdit( /** * Object containing the parameters passed to onBeforeEdit */ _mParameters?: { /** * Page context that is going to be edited. */ context?: Context; } ): Promise; /** * This function can be used to intercept the 'Save' action. You can execute custom coding in this function. * The framework waits for the returned promise to be resolved before continuing the 'Save' action. * If you reject the promise, the 'Save' action is stopped and the user stays in edit mode. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.90.0 * * @returns A promise to be returned by the overridden method. If resolved, the 'Save' action is triggered. * If rejected, the 'Save' action is not triggered and the user stays in edit mode. */ onBeforeSave( /** * Object containing the parameters passed to onBeforeSave */ _mParameters?: { /** * Page context that is going to be saved. */ context?: Context; } ): Promise; /** * Saves a new document after checking it. * * @since 1.90.0 * * @returns Promise resolves once save is complete */ saveDocument( /** * Context of the editable document */ oContext: Context ): Promise; /** * Secured execution of the given function. Ensures that the function is only executed when certain conditions * are fulfilled. * * @since 1.90.0 * * @returns A promise that is rejected if the execution is prohibited and resolved by the promise returned * by the fnFunction. */ securedExecution( /** * The function to be executed. Should return a promise that is settled after completion of the execution. * If nothing is returned, immediate completion is assumed. */ fnFunction: Function, /** * Definitions of the preconditions to be checked before execution */ mParameters?: { /** * Defines the busy indicator */ busy?: { /** * Executes function only if application isn't busy. */ check?: boolean; /** * Triggers a busy indicator when the function is executed. */ set?: boolean; }; /** * This operation updates the current document without using the bound model and context. As a result, the * draft status is updated if a draft document exists, and the user has to confirm the cancellation of the * editing process. */ updatesDocument?: boolean; } ): Promise; /** * Updates the draft status and displays the error messages if there are errors during an update. * * @since 1.90.0 * * @returns Promise resolves once draft status has been updated */ updateDocument( /** * Context of the updated field */ updatedContext: Binding | Context, /** * Promise to determine when the update operation is completed. The promise should be resolved when the * update operation is completed, so the draft status can be updated. */ updatePromise: Promise ): Promise; } } declare module "sap/fe/core/controllerextensions/IntentBasedNavigation" { import ControllerExtension from "sap/ui/core/mvc/ControllerExtension"; import SelectionVariant from "sap/fe/navigation/SelectionVariant"; /** * Controller extension providing hooks for intent-based navigation * {@link demo:sap/fe/core/fpmExplorer/index.html#/controllerExtensions/intentBasedNavigation Overview of Building Blocks} * * @since 1.86.0 */ export default class IntentBasedNavigation extends ControllerExtension { /** * Provides a hook to customize the {@link sap.fe.navigation.SelectionVariant } related to the intent-based * navigation. * * @since 1.86.0 */ adaptNavigationContext( /** * SelectionVariant provided by SAP Fiori elements. */ _oSelectionVariant: SelectionVariant, /** * Object containing intent-based navigation-related info */ _oNavigationInfo: { /** * Action related to the intent */ action: string; /** * Semantic object related to the intent */ semanticObject: string; } ): void; /** * Navigates to an intent defined by an outbound definition in the manifest. * * @since 1.86.0 */ navigateOutbound( /** * Identifier to locate the outbound definition in the manifest. * This provides the semantic object and action for the intent-based navigation. * Additionally, the outbound definition can be used to provide parameters for intent-based navigation. * See {@link topic :be0cf40f61184b358b5faedaec98b2da Descriptor for Applications, Components, and Libraries } * for more information. */ sOutbound: string, /** * Optional map containing key/value pairs to be passed to the intent. * If mNavigationParameters are provided, the parameters provided in the outbound definition of the manifest * are ignored. */ mNavigationParameters?: Record ): void; } } declare module "sap/fe/core/controllerextensions/MessageHandler" { import ControllerExtension from "sap/ui/core/mvc/ControllerExtension"; /** * A controller extension offering message handling. * * @since 1.90.0 */ export default class MessageHandler extends ControllerExtension { /** * Allows the consumer of the MessageButton building block to decide which bound messages are shown and * how. * This hook is called when the MessageButton building block detects a change in the message model. * The hooks allow you to define the behavior for messages in the MessageButton building block. * Consumers are able to do the following with this hook: * 1. Filter out messages so that they are not shown on the message button. * 2. Group messages based on their UI. * 3. Provide a presser handler if the message should display as a link. * * * * @returns A promise that must be returned by the overridden method. */ beforeShowMessageButton( /** * Object containing the details related to the message. */ _messageDetails: MessageDetail[] ): Promise; /** * Shows a message dialog with transition messages if there are any. * The message dialog is shown as a modal dialog. Once the user confirms the dialog, all transition messages * are removed from the message model. If there is more than one message, a list of messages is shown. The * user * can filter on message types and can display details as well as the long text. If there is one message, * the dialog immediately shows the details of the message. If there is just one success message, a message * toast is shown instead. * * @since 1.90.0 * * @returns A promise that is resolved once the user closes the dialog. If there are no messages * to be shown, the promise is resolved immediately */ showMessageDialog(): Promise; } /** * Defines the message details relevant for the MessageButton building block to display a popover. */ export type MessageDetail = {}; } declare module "sap/fe/core/controllerextensions/Paginator" { import ControllerExtension from "sap/ui/core/mvc/ControllerExtension"; import Context from "sap/ui/model/odata/v4/Context"; import { ContextNavigationType } from "sap/fe/core/library"; import ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding"; /** * Controller extension providing hooks for the navigation using paginators * * @since 1.94.0 */ export default class Paginator extends ControllerExtension { /** * This method is invoked whenever a context is loaded using the paginator buttons. It determines whether * the context supports navigation. The method must return one of the following: * ContextNavigationType.None: If the context is not navigable. * ContextNavigationType.Internal: If the context supports internal navigation within the same application * to a detail view, such as an object page or a subobject page. * ContextNavigationType.External: If the context navigates to an external application. * The paginator buttons only allow navigation to contexts with internal navigation. Contexts with None * or External navigation are skipped. * * @since 1.138.0 * * @returns A Promise which should resolve to ContextNavigationType enum. */ determineContextNavigationType( /** * Object containing the context to be navigated. */ context: Context ): Promise; /** * Initiates the paginator control. * * @since 1.94.0 */ initialize( /** * ODataListBinding object */ oBinding?: ODataListBinding, /** * Current context where the navigation is initiated */ oContext?: Context ): void; /** * Returns the updated context after the paginator operation. * * @since 1.94.0 */ onContextUpdate( /** * Final context returned after the paginator action */ oContext: Context ): void; } } declare module "sap/fe/core/controllerextensions/Recommendations" { /** * Parameters for the acceptRecommendations and onBeforeAcceptRecommendations methods. */ export type AcceptAllParams = {}; /** * Represents a single recommendation entry. */ export type RecommendationData = {}; } declare module "sap/fe/core/controllerextensions/Routing" { import BaseControllerExtension from "sap/fe/core/controllerextensions/BaseControllerExtension"; import Context from "sap/ui/model/odata/v4/Context"; /** * A controller extension offering hooks into the routing flow of the application * * @since 1.86.0 */ export default class Routing extends BaseControllerExtension { /** * Allows navigation to a specific context. * * @since 1.90.0 */ navigate( /** * Object containing the context to be navigated to */ oContext: Context, /** * Object containing the parameters for the navigation */ parameters?: { /** * By default, the internal algorithm decides whether the navigation preserves the previous entry. This * parameter allows you to override this behavior. */ preserveHistory: boolean; } ): void; /** * Navigate to another target. * * * @returns Promise that is resolved when the navigation is finalized */ navigateToRoute( /** * Name of the target route */ sTargetRouteName: string, /** * Parameters to be used with route to create the target hash */ oParameters?: any ): Promise; /** * This function is used to intercept the routing event after binding a page. * If it is declared as an extension, it allows you to intercept and change the normal flow of binding. * This function is not called directly, but overridden separately by consuming controllers. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.90.0 */ onAfterBinding( /** * Object containing the context to be navigated */ oContext: null | object ): void; /** * This function is used to intercept the routing event before binding a page. * If it is declared as an extension, it allows you to intercept and change the normal flow of binding. * This function is not called directly, but overridden separately by consuming controllers. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.90.0 */ onBeforeBinding( /** * Object containing the context for the navigation */ oContext: null | object ): void; /** * This function can be used to intercept the routing event during the normal navigation process, such as * when a table row is clicked to navigate, pagination buttons are used, the Apply button in an object page * is clicked, or a sub-object page in a flexible column layout is closed. * The function is not called during other means of external outbound navigation such as a navigation configured * using a link or by using navigation buttons. * If declared as an extension, it allows you to intercept and change the normal navigation flow. * If you decide to implement your own navigation processing, you can return `true` to prevent the default * routing behavior. * This function is meant to be individually overridden by consuming controllers and not called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @since 1.86.0 * * @returns `true` to prevent the default execution, false to keep the standard behavior */ onBeforeNavigation( /** * Object containing row context and page context */ mNavigationParameters: { /** * The target navigation context */ bindingContext: Context; } ): Promise; } } declare module "sap/fe/core/controllerextensions/Share" { import BaseControllerExtension from "sap/fe/core/controllerextensions/BaseControllerExtension"; import Control from "sap/ui/core/Control"; /** * A controller extension offering hooks into the routing flow of the application * * @since 1.86.0 */ export default class Share extends BaseControllerExtension { /** * Adapts the metadata used while sharing the page URL using 'Send Email', 'Share in SAP Jam', and 'Save * as Tile'. * * @since 1.93.0 * * @returns Share Metadata or a Promise resolving the Share Metadata */ adaptShareMetadata( /** * Object containing the share metadata. */ oShareMetadata: { /** * Email-specific metadata. */ email: { /** * Title that will be used as "email subject" in 'Send Email'. This takes precedence over oShareMetadata.title. */ title: string; /** * URL that will be used specifically for 'Send Email'. This takes precedence over oShareMetadata.url. */ url: string; }; /** * SAP Jam-specific metadata. */ jam: { /** * Title that will be used as 'share text' in 'Share in SAP Jam'. This takes precedence over oShareMetadata.title. */ title: string; /** * URL that will be used specifically for 'Share in SAP Jam'. This takes precedence over oShareMetadata.url. */ url?: string; }; /** * Save as Tile-specific metadata. */ tile: { /** * Icon to be used for the tile. */ icon?: string; /** * Query URL of an OData service from which data for a dynamic tile is read. */ queryUrl?: string; /** * Subtitle to be used for the tile. */ subtitle: string; /** * Title to be used for the tile. This takes precedence over oShareMetadata.title. */ title: string; /** * URL that will be used specifically for 'Save as Tile'. This takes precedence over oShareMetadata.url. */ url?: string; }; /** * Default title that will be used as the 'email subject' in 'Send Email', 'share text' in 'Share in SAP * Jam' and 'title' in 'Save as Tile' */ title: string; /** * Default URL that will be used with 'Send Email', 'Share in SAP Jam', and 'Save as Tile' */ url: string; } ): | Promise | /* was: sap.fe.core.controllerextensions.Share.ShareMetadata */ any; /** * Opens the share sheet. * * @since 1.93.0 */ openShareSheet( /** * The control to which the ActionSheet is opened. */ oControl: Control ): void; } } declare module "sap/fe/core/controllerextensions/SideEffects" { import ControllerExtension from "sap/ui/core/mvc/ControllerExtension"; /** * A controller extension which provides hooks into the flow of event-driven side effects in the application. * * @since 1.148.0 */ export default class SideEffects extends ControllerExtension { /** * Hook called when an event-driven side effects message is received using a WebSocket. * This hook is called once per visible PageController for each incoming event. * Application developers can use it to do the following: * * - Execute custom logic. * * - Inspect app state and conditionally suppress the default refresh workflow * by returning a rejected promise. * * - Override the interaction type, such as (None / Notification / Confirmation), for this event. * * When multiple pages are visible simultaneously, for example, in a flexible column layout, * this hook is called once per visible page. If multiple pages return an interactionType override, * the last resolved value wins. * Returns a rejected promise that stops all further processing for this WebSocket event. * * * @since 1.148.0 * * @returns A promise that resolves with an optional interactionType override, or rejects to stop processing. */ onEventDrivenSideEffectsReceived( /** * Parameters forwarded from the WebSocket message. */ _mParameters: { /** * The name of the side-effects event. */ sideEffectEventName: string; /** * The OData path that is the source of the event. */ sideEffectSource: string; } ): any; } } declare module "sap/fe/core/controllerextensions/ViewState" { import ControllerExtension from "sap/ui/core/mvc/ControllerExtension"; import ManagedObject from "sap/ui/base/ManagedObject"; import SelectionVariant from "sap/fe/navigation/SelectionVariant"; /** * A controller extension offering hooks for state handling * If you need to maintain a specific state for your application, you can use the controller extension. * * * @since 1.85.0 */ export default class ViewState extends ControllerExtension { /** * This function should add all controls relevant for refreshing to the provided control array. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @ui5-protected Do not call from applications (only from related classes in the framework) */ adaptBindingRefreshControls( /** * The collected controls */ aCollectedControls: ManagedObject[] ): void; /** * Customize the `refreshBinding` function for a certain control. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @ui5-protected Do not call from applications (only from related classes in the framework) */ adaptBindingRefreshHandler( /** * The control for which the refresh handler is adapted. */ _oControl: ManagedObject, /** * A plain object which can have one function: `refreshBinding` */ _oControlHandler: any ): void; /** * Customize the `retrieve` and `apply` functions for a certain control. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @ui5-protected Do not call from applications (only from related classes in the framework) */ adaptControlStateHandler( /** * The control to get state handler for */ oControl: ManagedObject, /** * A list of plain objects with two functions: `retrieve` and `apply` */ aControlHandler: object[] ): void; /** * This function should add all controls for given view that should be considered for the state handling * to the provided control array. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @ui5-protected Do not call from applications (only from related classes in the framework) */ adaptStateControls( /** * The collected controls */ _aCollectedControls: ManagedObject[] ): void; /** * Applying additional, not control related, states - is called only if navigation type is iAppState. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @ui5-protected Do not call from applications (only from related classes in the framework) */ applyAdditionalStates( /** * The current view state */ oViewState: object, /** * Extensible array of promises to be resolved before continuing */ aPromises: Promise ): void; /** * Defines whether the view state should only be applied once initially. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.Instead }. * Important: * You should only override this method for custom pages and not for the standard ListReportPage and ObjectPage! * * * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns If `true`, only the initial view state is applied once, * else any new view state is also applied on follow-up calls (default) */ applyInitialStateOnly(): boolean; /** * Apply navigation parameters is not called if the navigation type is iAppState * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @ui5-protected Do not call from applications (only from related classes in the framework) */ applyNavigationParameters( /** * The current navigation parameter */ oNavParameter: NavigationParameter, /** * Extensible array of promises to be resolved before continuing */ aPromises: Promise ): void; /** * Applies the given view state to this extensions view. * * * @returns Promise for async state handling */ applyViewState( /** * The view state to apply (can be undefined) */ oViewState: Record | undefined, /** * The current navigation parameter */ oNavParameter: NavigationParameter, /** * Boolean which determines to skip the key user shine through */ skipMerge?: boolean ): Promise; /** * Hook to react when state for given view was applied. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @ui5-protected Do not call from applications (only from related classes in the framework) */ onAfterStateApplied( /** * Extensible array of promises to be resolved before continuing */ aPromises: Promise ): void; /** * Hook to react before a state for given view is applied. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @ui5-protected Do not call from applications (only from related classes in the framework) */ onBeforeStateApplied( /** * Extensible array of promises to be resolved before continuing */ aPromises: any, /** * Navigation type responsible for the applying the state */ navigationType?: string ): void; /** * Called when the application is restored due to keep-alive mode. */ onRestore(): void; /** * Called when the application is suspended due to keep-alive mode. */ onSuspend(): void; /** * Extend the map of additional states (not control bound) to be added to the current view state of the * given view. * This function is meant to be individually overridden by consuming controllers, but not to be called directly. * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After }. * * * @ui5-protected Do not call from applications (only from related classes in the framework) */ retrieveAdditionalStates( /** * The additional state */ mAdditionalStates: object ): void; /** * Retrieve the view state of this extensions view. * * * @returns A promise resolving the view state */ retrieveViewState(): Promise | undefined>; } /** * Definition of a navigation parameter */ export type NavigationParameter = { /** * The actual navigation type. */ navigationType: string; /** * Defines whether the standard variant must be used in variant management */ requiresStandardVariant?: boolean; /** * The selectionVariant from the navigation. */ selectionVariant?: SelectionVariant; /** * The selectionVariant defaults from the navigation */ selectionVariantDefaults?: SelectionVariant; }; } declare module "sap/fe/core/controls/DataWatcher" { /** * A callback function that is called when the value of the watched property changes. */ export type WatcherCallback = {}; } declare module "sap/fe/core/converters/ManifestSettings" { /** * Definition of settings in the "sap.fe" section of the manifest */ export type ManifestSettingsSapFE = { /** * Application-specific settings */ app?: { /** * Enable lazy loading and lazy rendering for sections on the object page. */ enableLazyLoading?: boolean; /** * Enable Save and Leave functionality for draft-enabled object pages */ enableSaveAndLeave?: boolean; }; }; } declare module "sap/fe/core/fpm/Component" { import { default as TemplateComponent, $TemplateComponentSettings, } from "sap/fe/core/TemplateComponent"; import AppComponent from "sap/fe/core/AppComponent"; import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; /** * Component that can be used as a wrapper component for custom pages. * The component can be used in case you want to use SAP Fiori elements Building Blocks or XML template * constructions. You can either extend the component and set the viewName and contextPath within your code * or you can use it to wrap your custom XML view directly the manifest when you define your custom page * under sapui5/routing/targets: * * ```javascript * * "myCustomPage": { * "type": "Component", * "id": "myCustomPage", * "name": "sap.fe.core.fpm", * "title": "My Custom Page", * "options": { * "settings": { * "viewName": "myNamespace.myView", * "contextPath": "/MyEntitySet" * } * } * } * ``` * * * * @since 1.92.0 */ export default class Component extends TemplateComponent { /** * Returns the current AppComponent. * * * @returns The current AppComponent */ getAppComponent(): AppComponent; } /** * Describes the settings that can be provided to the Component constructor. */ export interface $ComponentSettings extends $TemplateComponentSettings { /** * Name of the XML view which is used for this page. The XML view can contain SAP Fiori elements Building * Blocks and XML template constructions. */ viewName?: string | PropertyBindingInfo; } } declare module "sap/fe/core/rootView/Fcl.controller" { /** * Base controller class for your own root view with an sap.f.FlexibleColumnLayout control. * By using or extending this controller, you can use your own root view with the sap.fe.core.AppComponent * and * you can make use of SAP Fiori elements pages and SAP Fiori elements building blocks. * * * @since 1.110.0 */ export default class Fcl extends /* was: sap.fe.core.rootView.RootViewBaseController */ Object {} } declare module "sap/fe/core/rootView/NavContainer.controller" { /** * Base controller class for your own root view with a sap.m.NavContainer control. * By using or extending this controller you can use your own root view with the sap.fe.core.AppComponent * and * you can make use of SAP Fiori elements pages and SAP Fiori elements building blocks. * * * @since 1.108.0 */ export default class NavContainer extends /* was: sap.fe.core.rootView.RootViewBaseController */ Object {} } declare namespace sap { interface IUI5DefineDependencyNames { "sap/fe/core/AppComponent": undefined; "sap/fe/core/BaseController": undefined; "sap/fe/core/buildingBlocks/BuildingBlock": undefined; "sap/fe/core/controllerextensions/BaseControllerExtension": undefined; "sap/fe/core/controllerextensions/CollaborativeDraft": undefined; "sap/fe/core/controllerextensions/EditFlow": undefined; "sap/fe/core/controllerextensions/IntentBasedNavigation": undefined; "sap/fe/core/controllerextensions/MessageHandler": undefined; "sap/fe/core/controllerextensions/Paginator": undefined; "sap/fe/core/controllerextensions/Recommendations": undefined; "sap/fe/core/controllerextensions/Routing": undefined; "sap/fe/core/controllerextensions/Share": undefined; "sap/fe/core/controllerextensions/SideEffects": undefined; "sap/fe/core/controllerextensions/ViewState": undefined; "sap/fe/core/controls/DataWatcher": undefined; "sap/fe/core/converters/ManifestSettings": undefined; "sap/fe/core/ExtensionAPI": undefined; "sap/fe/core/fpm/Component": undefined; "sap/fe/core/library": undefined; "sap/fe/core/PageController": undefined; "sap/fe/core/ReuseComponent": undefined; "sap/fe/core/rootView/Fcl.controller": undefined; "sap/fe/core/rootView/NavContainer.controller": undefined; "sap/fe/core/TemplateComponent": undefined; } }