// For Library Version: 1.148.1 declare module "sap/ushell/library" { /** * Denotes the types of the content nodes. * * This enum is part of the 'sap/ushell/library' module export and must be accessed by the property 'ContentNodeType'. */ export enum ContentNodeType { /** * A group of the classic homepage * * @deprecated As of version 1.120. Deprecated without successor together with the classic homepage. */ HomepageGroup = "HomepageGroup", /** * A page which is assigned to a space in spaces mode */ Page = "Page", /** * A space in spaces mode */ Space = "Space", /** * A visualization which is assigned to a space in spaces mode */ Visualization = "Visualization", } /** * The state of a navigation operation * * This enum is part of the 'sap/ushell/library' module export and must be accessed by the property 'NavigationState'. * * @deprecated As of version 1.136. Deprecated without successor. */ export enum NavigationState { Finished = "Finished", InProgress = "InProgress", } export namespace ui { namespace launchpad { /** * Denotes display states of the viewport * * This enum is part of the 'sap/ushell/library' module export and must be accessed by the property 'ui.launchpad.ViewPortState'. * * @deprecated As of version 1.120. The ViewPortState is related to Fiori2 and not used anymore. */ enum ViewPortState { /** * Indicates state, when only center content is in the viewport. */ Center = "Center", /** * Indicates state, when the center content as well as a part from the left content is in the viewport. */ CenterLeft = "CenterLeft", /** * Indicates state, when the center content as well as a part from the right content is in the viewport. */ CenterRight = "CenterRight", /** * Indicates state, when only left content is in the viewport. */ Left = "Left", /** * Indicates state, when the left content as well as a part from the center content is in the viewport. */ LeftCenter = "LeftCenter", /** * Indicates state, when only right content is in the viewport. */ Right = "Right", /** * Indicates state, when the right content as well as a part from the center content is in the viewport. */ RightCenter = "RightCenter", } } } } declare module "sap/ushell/components/factsheet/controls/PictureTile" { import { default as CustomTile, $CustomTileSettings } from "sap/m/CustomTile"; import Event from "sap/ui/base/Event"; import { CSSSize, ID } from "sap/ui/core/library"; import ElementMetadata from "sap/ui/core/ElementMetadata"; import PictureViewerItem from "sap/ushell/components/factsheet/controls/PictureViewerItem"; import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; /** * Tile control embedding an image and allowing custom sizing * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. * * PictureTile is used in PictureViewer control and is not meant to be consumed outside of PictureViewer * usage. PictureViewer was replacing the sap.m.Carousel as it wasn't supporting some versions of MS Internet * Explorer. Now, the sap.m.Carousel is fully functional, please use sap.m.Carousel instead. This control * will not be supported anymore. */ export default class PictureTile extends CustomTile { /** * Constructor for a new components/factsheet/controls/PictureTile. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. */ constructor( /** * initial settings for the new control */ mSettings?: $PictureTileSettings ); /** * Constructor for a new components/factsheet/controls/PictureTile. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. */ constructor( /** * id for the new control, generated automatically if no id is given */ sId?: string, /** * initial settings for the new control */ mSettings?: $PictureTileSettings ); /** * Creates a new subclass of class sap.ushell.components.factsheet.controls.PictureTile with name `sClassName` * and enriches it with the information contained in `oClassInfo`. * * `oClassInfo` might contain the same kind of information as described in {@link sap.m.CustomTile.extend}. * * * @returns Created class / constructor function */ static extend>( /** * Name of the class being created */ sClassName: string, /** * Object literal with information about the class */ oClassInfo?: sap.ClassInfo, /** * Constructor function for the metadata object; if not given, it defaults to the metadata implementation * used by this class */ FNMetaImpl?: Function ): Function; /** * Returns a metadata object for class sap.ushell.components.factsheet.controls.PictureTile. * * * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; /** * Attaches event handler `fnFunction` to the {@link #event:pictureDelete pictureDelete} event of this `sap.ushell.components.factsheet.controls.PictureTile`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ushell.components.factsheet.controls.PictureTile` itself. * * * @returns Reference to `this` in order to allow method chaining */ attachPictureDelete( /** * 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, /** * Context object to call the event handler with. Defaults to this `sap.ushell.components.factsheet.controls.PictureTile` * itself */ oListener?: object ): this; /** * Attaches event handler `fnFunction` to the {@link #event:pictureDelete pictureDelete} event of this `sap.ushell.components.factsheet.controls.PictureTile`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ushell.components.factsheet.controls.PictureTile` itself. * * * @returns Reference to `this` in order to allow method chaining */ attachPictureDelete( /** * The function to be called when the event occurs */ fnFunction: (p1: Event) => void, /** * Context object to call the event handler with. Defaults to this `sap.ushell.components.factsheet.controls.PictureTile` * itself */ oListener?: object ): this; /** * Detaches event handler `fnFunction` from the {@link #event:pictureDelete pictureDelete} event of this * `sap.ushell.components.factsheet.controls.PictureTile`. * * The passed function and listener object must match the ones used for event registration. * * * @returns Reference to `this` in order to allow method chaining */ detachPictureDelete( /** * The function to be called, when the event occurs */ fnFunction: (p1: Event) => void, /** * Context object on which the given function had to be called */ oListener?: object ): this; /** * Fires event {@link #event:pictureDelete pictureDelete} to attached listeners. * * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns Reference to `this` in order to allow method chaining */ firePictureDelete( /** * Parameters to pass along with the event */ mParameters?: object ): this; /** * Gets current value of property {@link #getHeight height}. * * Default value is `"32px"`. * * * @returns Value of property `height` */ getHeight(): CSSSize; /** * ID of the element which is the current target of the association {@link #getTileContent tileContent}, * or `null`. */ getTileContent(): ID | null; /** * Gets current value of property {@link #getWidth width}. * * Default value is `"32px"`. * * * @returns Value of property `width` */ getWidth(): CSSSize; /** * Sets a new value for property {@link #getHeight height}. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * * Default value is `"32px"`. * * * @returns Reference to `this` in order to allow method chaining */ setHeight( /** * New value for property `height` */ sHeight?: CSSSize ): this; /** * Reference to one PictureViewerItem coming from the PictureViewer. * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. * * @returns `this` to allow method chaining */ setTileContent( /** * Id of an element which becomes the new target of this `tileContent` association. Alternatively, an element * instance may be given. */ vTileContent: string | PictureViewerItem ): PictureTile; /** * Sets a new value for property {@link #getWidth width}. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * * Default value is `"32px"`. * * * @returns Reference to `this` in order to allow method chaining */ setWidth( /** * New value for property `width` */ sWidth?: CSSSize ): this; } /** * Describes the settings that can be provided to the PictureTile constructor. * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. * * PictureTile is used in PictureViewer control and is not meant to be consumed outside of PictureViewer * usage. PictureViewer was replacing the sap.m.Carousel as it wasn't supporting some versions of MS Internet * Explorer. Now, the sap.m.Carousel is fully functional, please use sap.m.Carousel instead. This control * will not be supported anymore. */ export interface $PictureTileSettings extends $CustomTileSettings { height?: CSSSize | PropertyBindingInfo | `{${string}}`; width?: CSSSize | PropertyBindingInfo | `{${string}}`; tileContent?: PictureViewerItem | string; pictureDelete?: (oEvent: Event) => void; } /** * Parameters of the PictureTile#pictureDelete event. */ export interface PictureTile$PictureDeleteEventParameters {} /** * Event object of the PictureTile#pictureDelete event. */ export type PictureTile$PictureDeleteEvent = Event< PictureTile$PictureDeleteEventParameters, PictureTile >; } declare module "sap/ushell/components/factsheet/controls/PictureViewer" { import { default as TileContainer, $TileContainerSettings, } from "sap/m/TileContainer"; import PictureViewerItem from "sap/ushell/components/factsheet/controls/PictureViewerItem"; import Event from "sap/ui/base/Event"; import ElementMetadata from "sap/ui/core/ElementMetadata"; import { PropertyBindingInfo, AggregationBindingInfo, } from "sap/ui/base/ManagedObject"; /** * Picture viewer control relying on the TileContainer control * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. PictureViewer was replacing * the Carousel as it wasn't supporting some versions of MS Internet Explorer. Now, the sap.m.Carousel is * fully functional, please use sap.m.Carousel instead. This control will not be supported anymore. */ export default class PictureViewer extends TileContainer { /** * Constructor for a new components/factsheet/controls/PictureViewer. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. */ constructor( /** * initial settings for the new control */ mSettings?: $PictureViewerSettings ); /** * Constructor for a new components/factsheet/controls/PictureViewer. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. */ constructor( /** * id for the new control, generated automatically if no id is given */ sId?: string, /** * initial settings for the new control */ mSettings?: $PictureViewerSettings ); /** * Creates a new subclass of class sap.ushell.components.factsheet.controls.PictureViewer with name `sClassName` * and enriches it with the information contained in `oClassInfo`. * * `oClassInfo` might contain the same kind of information as described in {@link sap.m.TileContainer.extend}. * * * @returns Created class / constructor function */ static extend>( /** * Name of the class being created */ sClassName: string, /** * Object literal with information about the class */ oClassInfo?: sap.ClassInfo, /** * Constructor function for the metadata object; if not given, it defaults to the metadata implementation * used by this class */ FNMetaImpl?: Function ): Function; /** * Returns a metadata object for class sap.ushell.components.factsheet.controls.PictureViewer. * * * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; /** * Adds some item `oItem` to the aggregation named `items`. Deprecated, use aggregation "tiles". * * @deprecated As of version 1.18. Please use aggregation "tiles" instead. Also consider using {@link sap.m.Carousel } * as the PictureViewer itself is deprecated. * * @returns `this` to allow method chaining */ addItem( /** * the item to add; if empty, nothing is inserted */ oItem: PictureViewerItem ): PictureViewer; /** * Attaches event handler `fnFunction` to the {@link #event:pictureDeleted pictureDeleted} event of this * `sap.ushell.components.factsheet.controls.PictureViewer`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ushell.components.factsheet.controls.PictureViewer` itself. * * * @returns Reference to `this` in order to allow method chaining */ attachPictureDeleted( /** * 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, /** * Context object to call the event handler with. Defaults to this `sap.ushell.components.factsheet.controls.PictureViewer` * itself */ oListener?: object ): this; /** * Attaches event handler `fnFunction` to the {@link #event:pictureDeleted pictureDeleted} event of this * `sap.ushell.components.factsheet.controls.PictureViewer`. * * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified, * otherwise it will be bound to this `sap.ushell.components.factsheet.controls.PictureViewer` itself. * * * @returns Reference to `this` in order to allow method chaining */ attachPictureDeleted( /** * The function to be called when the event occurs */ fnFunction: (p1: Event) => void, /** * Context object to call the event handler with. Defaults to this `sap.ushell.components.factsheet.controls.PictureViewer` * itself */ oListener?: object ): this; /** * Removes the picture at index `iIndex` from the `items` aggregation. * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. * * @returns `this` to allow method chaining */ deletePicture( /** * the `0`-based index of the picture collection to delete; if `iIndex` is out of range or empty, the current * image will be deleted. */ iIndex: int ): PictureViewer; /** * Destroys all the items in the aggregation {@link #getItems items}. * * * @returns Reference to `this` in order to allow method chaining */ destroyItems(): this; /** * Detaches event handler `fnFunction` from the {@link #event:pictureDeleted pictureDeleted} event of this * `sap.ushell.components.factsheet.controls.PictureViewer`. * * The passed function and listener object must match the ones used for event registration. * * * @returns Reference to `this` in order to allow method chaining */ detachPictureDeleted( /** * The function to be called, when the event occurs */ fnFunction: (p1: Event) => void, /** * Context object on which the given function had to be called */ oListener?: object ): this; /** * Fires event {@link #event:pictureDeleted pictureDeleted} to attached listeners. * * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns Reference to `this` in order to allow method chaining */ firePictureDeleted( /** * Parameters to pass along with the event */ mParameters?: object ): this; /** * Gets the current picture index. * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. * * @returns the current picture index */ getCurrentPictureIndex(): PictureViewer; /** * Gets content of aggregation {@link #getItems items}. */ getItems(): PictureViewerItem[]; /** * Gets current value of property {@link #getRemovable removable}. * * Default value is `false`. * * * @returns Value of property `removable` */ getRemovable(): boolean; /** * Gets current value of property {@link #getTileScaling tileScaling}. * * Percentage of the space occupied by the image in the picture viewer control. Please note that if the * factor is too close to 1, the navigation arrows usually displayed in desktop mode will not be available * * Default value is `0.95`. * * * @returns Value of property `tileScaling` */ getTileScaling(): float; /** * Checks for the provided `sap.ushell.components.factsheet.controls.PictureViewerItem` in the aggregation * {@link #getItems items}. and returns its index if found or -1 otherwise. * * * @returns The index of the provided control in the aggregation if found, or -1 otherwise */ indexOfItem( /** * The item whose index is looked for */ oItem: PictureViewerItem ): int; /** * Inserts a item into the aggregation named `items`. When adding a new item to the aggregation, a sap.ca.ui.PictureTile * is actually created with its own ID and added to the internal TileContainer. Deprecated, use aggregation * "tiles". * * @deprecated As of version 1.18. Please use aggregation "tiles" instead. Also consider using {@link sap.m.Carousel } * as the PictureViewer itself is deprecated. * * @returns `this` to allow method chaining */ insertItem( /** * the item to insert; if empty, nothing is inserted */ oItem: PictureViewerItem, /** * the `0`-based index the item should be inserted at; for a negative value of `iIndex`, the item is inserted * at position 0; for a value greater than the current size of the aggregation, the item is inserted at * the last position */ iIndex: int ): PictureViewer; /** * Removes all the controls from the aggregation {@link #getItems items}. * * Additionally, it unregisters them from the hosting UIArea. * * * @returns An array of the removed elements (might be empty) */ removeAllItems(): PictureViewerItem[]; /** * Removes a item from the aggregation {@link #getItems items}. * * * @returns The removed item or `null` */ removeItem( /** * The item to remove or its index or id */ vItem: int | string | PictureViewerItem ): PictureViewerItem | null; /** * Select the picture at index `iIndex` from the `items` aggregation. * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. * * @returns `this` to allow method chaining */ selectPicture( /** * the `0`-based index of the aggregation to select; for a negative value of `iIndex`, the picture at position * 0 is selected; for a value greater than the current size of the aggregation, the selected picture at * the last position is selected */ iIndex: int ): PictureViewer; /** * Sets a new value for property {@link #getRemovable removable}. * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * * Default value is `false`. * * * @returns Reference to `this` in order to allow method chaining */ setRemovable( /** * New value for property `removable` */ bRemovable?: boolean ): this; /** * Sets a new value for property {@link #getTileScaling tileScaling}. * * Percentage of the space occupied by the image in the picture viewer control. Please note that if the * factor is too close to 1, the navigation arrows usually displayed in desktop mode will not be available * * When called with a value of `null` or `undefined`, the default value of the property will be restored. * * Default value is `0.95`. * * * @returns Reference to `this` in order to allow method chaining */ setTileScaling( /** * New value for property `tileScaling` */ fTileScaling?: float ): this; } /** * Describes the settings that can be provided to the PictureViewer constructor. * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. PictureViewer was replacing * the Carousel as it wasn't supporting some versions of MS Internet Explorer. Now, the sap.m.Carousel is * fully functional, please use sap.m.Carousel instead. This control will not be supported anymore. */ export interface $PictureViewerSettings extends $TileContainerSettings { /** * Percentage of the space occupied by the image in the picture viewer control. Please note that if the * factor is too close to 1, the navigation arrows usually displayed in desktop mode will not be available */ tileScaling?: float | PropertyBindingInfo | `{${string}}`; removable?: boolean | PropertyBindingInfo | `{${string}}`; items?: | PictureViewerItem[] | PictureViewerItem | AggregationBindingInfo | `{${string}}`; pictureDeleted?: (oEvent: Event) => void; } /** * Parameters of the PictureViewer#pictureDeleted event. */ export interface PictureViewer$PictureDeletedEventParameters {} /** * Event object of the PictureViewer#pictureDeleted event. */ export type PictureViewer$PictureDeletedEvent = Event< PictureViewer$PictureDeletedEventParameters, PictureViewer >; } declare module "sap/ushell/components/factsheet/controls/PictureViewerItem" { import { default as Control, $ControlSettings } from "sap/ui/core/Control"; import Image from "sap/m/Image"; import ElementMetadata from "sap/ui/core/ElementMetadata"; import { PropertyBindingInfo } from "sap/ui/base/ManagedObject"; /** * Picture viewer control relying on the TileContainer control * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. PictureViewerItem is used * in PictureViewer control and is not meant to be consumed outside of PictureViewer usage. PictureViewer * was replacing the Carousel as it wasn't supporting some versions of MS Internet Explorer. Now, the sap.m.Carousel * is fully functional, please use sap.m.Carousel instead. This control will not be supported anymore. */ export default class PictureViewerItem extends Control { /** * Constructor for a new components/factsheet/controls/PictureViewerItem. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. */ constructor( /** * initial settings for the new control */ mSettings?: $PictureViewerItemSettings ); /** * Constructor for a new components/factsheet/controls/PictureViewerItem. * * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description * of the syntax of the settings object. */ constructor( /** * id for the new control, generated automatically if no id is given */ sId?: string, /** * initial settings for the new control */ mSettings?: $PictureViewerItemSettings ); /** * Creates a new subclass of class sap.ushell.components.factsheet.controls.PictureViewerItem with name * `sClassName` and enriches it with the information contained in `oClassInfo`. * * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.Control.extend}. * * * @returns Created class / constructor function */ static extend>( /** * Name of the class being created */ sClassName: string, /** * Object literal with information about the class */ oClassInfo?: sap.ClassInfo, /** * Constructor function for the metadata object; if not given, it defaults to the metadata implementation * used by this class */ FNMetaImpl?: Function ): Function; /** * Returns a metadata object for class sap.ushell.components.factsheet.controls.PictureViewerItem. * * * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; /** * Destroys the image in the aggregation {@link #getImage image}. * * * @returns Reference to `this` in order to allow method chaining */ destroyImage(): this; /** * Gets content of aggregation {@link #getImage image}. */ getImage(): Image; /** * Gets current value of property {@link #getSrc src}. * * * @returns Value of property `src` */ getSrc(): string; /** * Sets the aggregated {@link #getImage image}. * * * @returns Reference to `this` in order to allow method chaining */ setImage( /** * The image to set */ oImage: Image ): this; /** * Setter for property `src`. * * Default value is empty/`undefined` * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. * * @returns `this` to allow method chaining */ setSrc( /** * new value for property `src` */ sSrc: string ): PictureViewerItem; } /** * Describes the settings that can be provided to the PictureViewerItem constructor. * * @deprecated As of version 1.22. Please use {@link sap.m.Carousel} instead. PictureViewerItem is used * in PictureViewer control and is not meant to be consumed outside of PictureViewer usage. PictureViewer * was replacing the Carousel as it wasn't supporting some versions of MS Internet Explorer. Now, the sap.m.Carousel * is fully functional, please use sap.m.Carousel instead. This control will not be supported anymore. */ export interface $PictureViewerItemSettings extends $ControlSettings { src?: string | PropertyBindingInfo; image?: Image; } } declare module "sap/ushell/Container" { import System from "sap/ushell/System"; import Control from "sap/ui/core/Control"; import ComponentContainer from "sap/ui/core/ComponentContainer"; import Component from "sap/ui/core/Component"; /** * The Unified Shell's container. Manages renderers, services, and adapters. The container is designed to * be a singleton, therefore instead of creating an instance, access the central one via * ```javascript * * sap.ui.require(["sap/ushell/Container"], async function (Container) { * // do something with the container * }); * ``` * * * @since 1.15.0 */ interface Container { /** * An enumeration for the application work protect mode state. * * @since 1.21.1 * @deprecated As of version 1.146. the concept has been abandoned. */ DirtyState: DirtyState; /** * Adds a system to the list of remote systems currently in use. On logout this list is processed and performs * a logout for each system via the ContainerAdapter specific for its platform. * * @since 1.15.0 */ addRemoteSystem( /** * Remote system to be added. */ oRemoteSystem: System ): void; /** * Attaches a listener to the logout event. In case the bAsyncFunction parameter is true, the fnFunction * must return a promise. FLP will wait for the promise to be resolved before doing the actual logout. * * @since 1.19.1 */ attachLogoutEvent( /** * Event handler to be attached. */ fnFunction: Function, /** * Whether the function returns a Promise to wait for its resolvent (since 1.81.0). */ bAsyncFunction: boolean ): void; /** * Attaches a listener to the rendererCreated event. * * @since 1.34.1 * @deprecated As of version 1.146. the concept has been abandoned. */ attachRendererCreatedEvent( /** * Event handler to be attached. If a renderer is created, this function is called with a parameter of instance * `sap.ui.base.Event`. The event object provides the instance of the created renderer as parameter "renderer". * If the renderer is a SAPUI5 UI component (i.e. extend `sap.ui.core.UIComponent`), the event parameter * returns the component instance, i.e. it unwraps the renderer component from its component container. */ fnFunction: Function ): void; /** * Cancels the logon procedure in the current frame, if any. This MUST be used by the logon frame provider * in case the user wants to close the logon frame for good. It will report "Authentication cancelled" and * let all pending requests for the current realm fail. As a side-effect, it also calls `destroy` on the * logon frame provider. * See: * sap.ushell.Container#setLogonFrameProvider * * @since 1.21.2 * @deprecated As of version 1.120. Deprecated without successor. */ cancelLogon(): void; /** * Creates a new renderer instance for the given renderer name. * * Names without a dot are interpreted as package names within the default naming convention and will be * expanded to `"sap.ushell.renderers." + sRendererName + ".Renderer"`. Names containing a dot are used * "as is". * * The resulting name must point to a SAPUI5 object which is first required and then instantiated (without * arguments). The object is expected to be a UI component (i.e. extend `sap.ui.core.UIComponent`), which * is then automatically wrapped into a `sap.ui.core.ComponentContainer` control by this method. The `sap.ui.core.ComponentContainer` * is created with `height` and `width` set to "100%" to accommodate the complete available space. Besides * UIComponents a control (i.e. extend `sap.ui.core.Control`) is accepted, too. * * The returned renderer is supposed to be added to a direct child (for example `div`) of the `body` of * the page and there should be no other parts of the page consuming space outside the renderer. Use CSS * class `sapUShellFullHeight` at `html`, `body` and at the element to which the renderer is added to allow * the renderer to use 100% height. * * @since 1.15.0 * @deprecated As of version 1.120. Deprecated without successor. Custom renderers are no longer supported. * * @returns the renderer or Promise (in asynchronous mode) */ createRenderer( /** * The renderer name, such as "standard" or "acme.foo.bar.MyRenderer"; it is taken from the configuration * property `defaultRenderer` if not given here. */ sRendererName?: string, /** * If `true`, the renderer is created asynchronously and a `Promise` is returned. */ bAsync?: boolean ): | Control | Promise | ComponentContainer | Promise; /** * Deregister the work protection dirty callback function. See registerDirtyStateProvider for more information. * Only the last registered function will be deregistered (in case it was registered multiple times). * * @since 1.67.0 * @deprecated As of version 1.146. replaced by {@link sap.ushell.navigation.DirtyState#deregisterDirtyStateProvider}. */ deregisterDirtyStateProvider( /** * function for determining the state of the application */ fnDirty: () => boolean ): void; /** * Detaches a listener from the logout event. * * @since 1.19.1 */ detachLogoutEvent( /** * Event handler to be detached. */ fnFunction: Function ): void; /** * Detaches a listener from the rendererCreated event. * * @since 1.34.1 * @deprecated As of version 1.146. the concept has been abandoned. */ detachRendererCreatedEvent( /** * Event handler to be detached. */ fnFunction: Function ): void; /** * If the dirty state was set to 'false' using 'setDirtyFlag' the registered dirty state provider methods * get called to determine the actual dirty state. The determined dirty state is then returned. * * However, if the dirty state was previously set to 'true' using 'setDirtyFlag' the registered dirty state * provider methods are ignored and the function simply returns 'true'. * * @since 1.27.0 * @deprecated As of version 1.120. replaced by {@link sap.ushell.navigation.DirtyState#getDirtyFlag}. * * @returns The value of the dirty flag or the determined dirty state returned by the dirty state providers. */ getDirtyFlag(): boolean; /** * Returns the global dirty state. * * All open UShell browser windows for the same origin are asked about their global dirty state. * * @since 1.21.1 * @deprecated As of version 1.120. the concept has been abandoned. Use {@link sap.ushell.navigation.DirtyState#getDirtyFlag } * instead. * * @returns Resolves the dirty state (see {@link sap.ushell.Container.DirtyState}). */ getGlobalDirty(): jQuery.Promise; /** * Gets a renderer instance for the given renderer name, that was created by the createRenderer method. * * @since 1.30.0 * @deprecated As of version 1.120. Use {@link sap.ushell.services.Extension} for shell extensions instead. * * @returns the renderer with the specified name; the returned object is either a control (i.e. extend `sap.ui.core.Control`) * or a UI component (i.e. extend `sap.ui.core.UIComponent`), i.e. this method unwraps the renderer component * from its `sap.ui.core.ComponentContainer`; if no renderer name can be determined and a single renderer * instance has been created, this single instance is returned. */ getRenderer( /** * The renderer name, such as "standard" or "fiori2"; it is taken from the configuration property `defaultRenderer` * if not given here. */ sRendererName?: string ): Control | Component; /** * Returns a service with the given name, creating it if necessary. Services are singleton objects identified * by their (resulting) name. * * Names without a dot are interpreted as service names within the default naming convention and will be * expanded to `"sap.ushell.services." + sServiceName`. Names containing a dot are not yet supported. This * name may be overridden via configuration. See example 2 below. * * The resulting name must point to a constructor function which is first required as a SAPUI5 module and * then called to create a service instance. The service will be passed to a corresponding service adapter * for the current logon system, as well as a callback interface (of virtual type `sap.ushell.services.ContainerInterface`) * to the container providing a method `createAdapter(oSystem)` to create further adapters for the same * service but connected to remote systems. The third parameter will be `sParameter` as passed to this function. * The fourth parameter will be an object with the property `config` supplied by the configuration. See * example 2 below. * * The adapter for the logon system will be created before the service. Its constructor gets three parameters. * The first parameter is the logon system, the second parameter is `sParameter` and the third parameter * is an object with the property `config` supplied by the configuration. * * The service may declare itself adapterless by setting the property `hasNoAdapter = true` at the constructor * function. In this case no adapter will be created and passed to the constructor and all other parameters * will be shifted. * * **Example 1:** The service `sap.ushell.services.UserInfo` is parameterless. It indicates this by setting * `sap.ushell.services.UserInfo.hasNoAdapter = true;`. * * **Example 2:** (Configuration) * ```javascript * * window["sap-ushell-config"] = { * services: { * Foo: { * module: "my.own.Foo" * config: {header: "hidden"}, * adapter: { * module: "my.own.FooAdapter", * config: {foo: "bar"} * } * } * } * } * sap.ushell.Container.getServiceAsync("Foo", "runtimeConfig") * .then(function (Foo) { * // Do something with the service * }); * ``` * Now `oService` is an instance of `my.own.Foo`. The third parameter of the constructor will be "runtimeConfig", * the fourth parameter `{config: {header: "hidden"}}`. Its adapter is an instance of `my.own.FooAdapter` * constructed with the parameters logon system, "runtimeConfig" and `{config: {foo: "bar"}}`. * * Note that the api will throw a runtime error (or reject for async mode) if the service name does not * reflect a service available. * See: * sap.ushell.services.ContainerInterface * * @since 1.15.0 * @deprecated As of version 1.77. Please use {@link #getServiceAsync} instead. * * @returns the service or, in asynchronous mode, a Promise that returns the service */ getService( /** * The service name, such as "Menu" */ sServiceName: string, /** * A parameter which is passed to the service constructor and every adapter constructor. (since 1.15.0) */ sParameter?: string, /** * if true, the adapter is loaded asynchronously and a Promise is returned. (since 1.55.0) */ bAsync?: boolean ): ServiceType | Promise; /** * Returns a Promise that resolves a service with the given name, creating it if necessary. Services are * singleton objects identified by their (resulting) name. * * Names without a dot are interpreted as service names within the default naming convention and will be * expanded to `"sap.ushell.services." + sServiceName`. Names containing a dot are not yet supported. This * name may be overridden via configuration. See example 2 below. * * The resulting name must point to a constructor function which is first required as a SAPUI5 module and * then called to create a service instance. The service will be passed to a corresponding service adapter * for the current logon system, as well as a callback interface (of virtual type `sap.ushell.services.ContainerInterface`) * to the container providing a method `createAdapter(oSystem)` to create further adapters for the same * service but connected to remote systems. The third parameter will be `sParameter` as passed to this function. * The fourth parameter will be an object with the property `config` supplied by the configuration. See * example 2 below. * * The adapter for the logon system will be created before the service. Its constructor gets three parameters. * The first parameter is the logon system, the second parameter is `sParameter` and the third parameter * is an object with the property `config` supplied by the configuration. * * The service may declare itself adapterless by setting the property `hasNoAdapter = true` at the constructor * function. In this case no adapter will be created and passed to the constructor and all other parameters * will be shifted. * * **Example 1:** The service `sap.ushell.services.UserInfo` is parameterless. It indicates this by setting * `sap.ushell.services.UserInfo.hasNoAdapter = true;`. * * **Example 2:** (Configuration) * ```javascript * * window["sap-ushell-config"] = { * services: { * Foo: { * module: "my.own.Foo" * config: {header: "hidden"}, * adapter: { * module: "my.own.FooAdapter", * config: {foo: "bar"} * } * } * } * } * sap.ushell.Container.getServiceAsync("Foo", "runtimeConfig") * .then(function (Foo) { * // Do something with the service * }); * ``` * Now the parameter provided in the promise handler is an instance of `my.own.Foo`. The third parameter * of the constructor will be "runtimeConfig", the fourth parameter `{config: {header: "hidden"}}`. Its * adapter is an instance of `my.own.FooAdapter` constructed with the parameters logon system, "runtimeConfig" * and `{config: {foo: "bar"}}`. * See: * sap.ushell.services.ContainerInterface * * @since 1.55.0 * * @returns a Promise that returns the requested service */ getServiceAsync( /** * The service name, such as "Menu" */ sServiceName: string, /** * A parameter which is passed to the service constructor and every adapter constructor. */ sParameter?: string ): Promise; /** * Logs out the current user from all relevant back-end systems, including the logon system itself. This * member represents the default native implementation of logout. If SessionHandler was created, we register * the alternate logout function using registerLogout function. * * @since 1.15.0 * @deprecated As of version 1.120. Deprecated without successor. * * @returns Resolves when logout is finished, even when it fails. */ logout(): jQuery.Promise; /** * Register the work protection dirty callback function. In the work protect mechanism, each platform can * register their own method in order to check if data was changed during the session, and notify the container * about the change. Registering multiple times the same function is allowed. * * Use `Function.prototype.bind()` to determine the callback's `this` or some of its arguments. * * @since 1.31.0 * @deprecated As of version 1.146. replaced by {@link sap.ushell.navigation.DirtyState#registerDirtyStateProvider}. */ registerDirtyStateProvider( /** * Function for determining the state of the application. The callback is used to determine the current * dirty state during a navigation. The function must return a boolean which determines if the current application * is dirty or not. If `true` is returned the end user is prompted with a dialog where they need to confirm * the potential data loss. The callback is called with a navigation context as its first parameter which * can be used to determine the dirty state: * ```javascript * * { * isCrossAppNavigation: true, // Boolean which indicates if the navigation is inner app or across two different applications. * innerAppRoute: "&/SalesOrder/11" // If it is an inner app navigation, it describes the inner app route. * } * ``` */ fnDirty: () => boolean ): void; /** * Setter for the isDirty flag value. * * Default value is false * * @since 1.27.0 * @deprecated As of version 1.146. replaced by {@link sap.ushell.navigation.DirtyState#setDirtyFlag}. */ setDirtyFlag( /** * The value of the dirty flag. */ bIsDirty?: boolean ): void; } const Container: Container; export default Container; /** * An enumeration for the application work protect mode state. * * @since 1.90.0 * @deprecated As of version 1.146. the concept has been abandoned. */ export type DirtyState = { /** * The embedded application is clean, there is no unsaved data. */ CLEAN: "CLEAN"; /** * The embedded application is dirty, the user has entered data that is not yet saved. */ DIRTY: "DIRTY"; /** * The embedded application container's dirty state cannot be determined because of technical reasons. */ MAYBE_DIRTY: "MAYBE_DIRTY"; }; } declare module "sap/ushell/navigation/DirtyState" { /** * Module that stores the dirty state of the application. * * @since 1.146.0 */ interface DirtyState { /** * Deregister the work protection dirty callback function. See registerDirtyStateProvider for more information. * Only the last registered function will be deregistered (in case it was registered multiple times). * * @since 1.146.0 */ deregisterDirtyStateProvider( /** * function for determining the state of the application */ fnDirty: () => boolean ): void; /** * If the dirty state was set to 'false' using 'setDirtyFlag' the registered dirty state provider methods * get called to determine the actual dirty state. The determined dirty state is then returned. * * However, if the dirty state was previously set to 'true' using 'setDirtyFlag' the registered dirty state * provider methods are ignored and the function simply returns 'true'. * * @since 1.146.0 * * @returns The value of the dirty flag or the determined dirty state returned by the dirty state providers. */ getDirtyFlag(): Promise; /** * Register the work protection dirty callback function. In the work protect mechanism, each platform can * register their own method in order to check if data was changed during the session, and notify the container * about the change. Registering multiple times the same function is allowed. * * Use `Function.prototype.bind()` to determine the callback's `this` or some of its arguments. * * Note that registered callback functions are not automatically de-registered when an application is closed. * Use {@link sap.ushell.navigation.DirtyState.deregisterDirtyStateProvider} to de-register the callback * function. * * @since 1.146.0 */ registerDirtyStateProvider( /** * Function for determining the state of the application. The callback is used to determine the current * dirty state during a navigation. The function must return a boolean which determines if the current application * is dirty or not. If `true` is returned the end user is prompted with a dialog where they need to confirm * the potential data loss. The callback is called with a navigation context as its first parameter which * can be used to determine the dirty state: * ```javascript * * { * isCrossAppNavigation: true, // Boolean which indicates if the navigation is inner app or across two different applications. * innerAppRoute: "&/SalesOrder/11" // If it is an inner app navigation, it describes the inner app route. * } * ``` */ fnDirty: () => boolean ): void; /** * Setter for the isDirty flag value. * * @since 1.146.0 * * @returns Resolves when the dirty flag is set. */ setDirtyFlag( /** * The value of the dirty flag. */ bIsDirty?: boolean ): Promise; } const DirtyState: DirtyState; export default DirtyState; } declare module "sap/ushell/renderers/fiori2/Renderer" { import { default as UIComponent, $UIComponentSettings, } from "sap/ui/core/UIComponent"; import Control from "sap/ui/core/Control"; import Bar from "sap/m/Bar"; /** * The SAPUI5 component of SAP Fiori Launchpad renderer for the Unified Shell. This method MUST be called * by the Unified Shell's container only, others MUST call {@link sap.ushell.Container#getRenderer}. * * @since 1.15.0 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension} or {@link sap.ushell.services.FrameBoundExtension } * instead. */ export default class Renderer extends UIComponent { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * The launchpad states that can be passed as a parameter. * * * **Values:** App - launchpad state when running a Fiori app * Home - launchpad state when the home page is open * * * @since 1.30 * @deprecated As of version 1.120. The LaunchpadState concept has been migrated to explicit APIs. Please * use {@link sap.ushell.services.Extension.Item} or {@link sap.ushell.services.FrameBoundExtension.Item } * APIs instead. */ LaunchpadState: undefined; /** * Creates an action button in the User Actions Menu in the SAP Fiori launchpad, in the given launchpad * states (LaunchpadState). * * * **Example:** * ```javascript * * sap.ushell.Container.getRenderer("fiori2").addActionButton("sap.m.Button", {id: "testBtn2", text: "test button"}, true, true); * ``` * * * This function is marked for deprecation as of version 1.48. * It will continue to work as expected as long as one of the following conditions apply: * 1. The control instance is already created and its ID is included in the input parameter oControlProperties * 2. The control type resource is already loaded * See: * sap.ushell.renderers.fiori2.Renderer.LaunchpadState * If no launchpad state is provided, the content is added in all states. * * @since 1.30 * @deprecated As of version 1.48. Please use {@link #addUserAction} instead. * * @returns oItem - the created control */ addActionButton( /** * The (class) name of the control type to create. */ controlType: string, /** * The properties that will be passed to the created control. */ oControlProperties: object, /** * Specify whether to display the control. If true, the control is displayed (calls the showActionButton * method) according to the bCurrentState and aStates parameters. If false, the control is created but not * displayed (you can use showActionButton to display the control when needed). */ bIsVisible: boolean, /** * If true, add the current control only to the current rendered shell state. Once the user navigates to * another app or back to the home page, this control will be removed. */ bCurrentState: boolean, /** * List of the launchpad states (sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which to add the * control. Valid only if bCurrentState is set to false. */ aStates: string[] ): Control; /** * Adds the given sap.ui.core.Control to the EndUserFeedback dialog. * The EndUserFeedback dialog is opened via the user actions menu in the Fiori Launchpad shell header. * * @since 1.30 * @deprecated As of version 1.93. Deprecated without successor. EndUserFeedback has been discontinued. */ addEndUserFeedbackCustomUI( /** * The control to be added to the EndUserFeedback dialog. */ oCustomUIContent: object, /** * Specify whether to display the control. */ bShowCustomUIContent: boolean ): void; /** * Creates a FloatingActionButton in Fiori launchpad, in the given launchpad states. * The FloatingActionButton is rendered in the bottom right corner of the shell. * * * **Example:** * ```javascript * * sap.ushell.Container.getRenderer("fiori2").addFloatingActionButton("sap.ushell.ui.shell.ShellFloatingAction", {id: "testBtn"}, true, true); * ``` * * * This function is marked for deprecation as of version 1.48. * It will continue to work as expected as long as one of the following conditions apply: * 1. The control instance is already created and its ID is included in the input parameter oControlProperties * 2. The control type resource is already loaded * See: * LaunchpadState * If no launchpad state is provided the content is added in all states. * * @since 1.30 * @deprecated As of version 1.48. Please use {@link #addFloatingButton} instead. * * @returns oItem - the created control */ addFloatingActionButton( /** * The (class) name of the control type to create. */ controlType: string, /** * The properties that will be passed to the created control. */ oControlProperties: object, /** * Specify whether to display the control. */ bIsVisible: boolean, /** * If true, add the current control only to the current rendered shell state. Once the user navigates to * another app or back to the Home page, this control will be removed. */ bCurrentState: boolean, /** * (only valid if bCurrentState is set to false) - list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState * in which to add the control. */ aStates: string[] ): object; /** * Creates a FloatingActionButton in Fiori launchpad, in the given launchpad states. * The FloatingActionButton is rendered in the bottom right corner of the shell. * * * **Example:** * ```javascript * * sap.ushell.Container.getRenderer("fiori2").addFloatingActionButton("sap.ushell.ui.shell.ShellFloatingAction", {id: "testBtn"}, true, true); * ``` * * See: * LaunchpadState * If no launchpad state is provided the content is added in all states. * * @since 1.48 * @deprecated As of version 1.52. Deprecated without successor. Support for the FloatingActionButton has * been discontinued. * * @returns Resolves with the newly created control */ addFloatingButton( /** * Contains the required parameters for creating and showing the new control object: * Properties: * - {string} controlType * The (class) name of the control type to create. * - {object} oControlProperties * The properties that will be passed to the created control. * - {boolean} bIsVisible * Specify whether to display the control. * - {boolean} bCurrentState * If true, add the current control only to the current rendered shell state. * Once the user navigates to another app or back to the Home page, this control will be removed. * - {string[]} aStates * (only valid if bCurrentState is set to false) - list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState * in which to add the control. */ oParameters: object ): jQuery.Promise; /** * Creates and displays a shell header icon in Fiori launchpad, in the given launchpad states. * The icon is displayed in the right side of the Fiori Launchpad shell header or in an overflow menu. * The text property is mandatory as it might be used in the overflow menu. * The tooltip property must not have the same text as the text property, as this causes accessibility * issues if the item is in the overflow menu. * If no tooltip is provided, the text property is shown as tooltip when the item is not in the overflow * menu. * * * **Example:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"); * * // Create an icon button that opens a dialog * oRenderer.addHeaderEndItem({ * id: "myTestButton", * icon: "sap-icon://action-settings", * tooltip: resources.i18n.getText("testButton.tooltip"), * text: resources.i18n.getText("testButton.text"), * ariaLabel: resources.i18n.getText("testButton.ariaLabel"), * ariaHaspopup: "dialog", * press: [myController.handleTestButtonPress, myController] * }, true); * * // Create a temporary link * oRenderer.addHeaderEndItem({ * id: "myTestLink", * ariaLabel: resources.i18n.getText("testLink.label"), * target: "#MyTestApplication-show", * icon: "sap-icon://overflow" * }, true, true); * ``` * * See: * LaunchpadState * If no launchpad state is provided the content is added in all states. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createHeaderItem} or * {@link sap.ushell.services.FrameBoundExtension#createHeaderItem} instead. * * @returns oItem - the created control */ addHeaderEndItem( /** * The (class) name of the control type to create. **Deprecated**: Since version 1.38. This parameter is * no longer supported and can be omitted. */ controlType: string, /** * The properties that will be passed to the created control. The object may contain the following properties: * * {string} [id] - The ID of the object. * {string} icon - The button icon source. * {string} [text] - The button text. It is only rendered in the overflow popover but not in the shell * header. * {string} [target] - target URI for a navigation link. * {string} [ariaLabel] - Accessibility: aria-label attribute. * {string} [ariaHaspopup] - Accessibility: aria-haspopup attribute. * {Function} [press] - A function to be called when the button is depressed. */ oControlProperties: object, /** * Specify whether to display the control. */ bIsVisible: boolean, /** * If true, add the current control only to the current rendered shell state. Once the user navigates to * another app or back to the Home page, this control will be removed. */ bCurrentState: boolean, /** * (only valid if bCurrentState is set to false) - list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState * in which to add the control. */ aStates: string[] ): Control; /** * Creates and displays an item in the header of Fiori launchpad, in the given launchpad states. * The new header item will be displayed on the left-hand side of the Fiori Launchpad shell header, according * to the given display parameters. * The new header item will be added to the right of any existing header items. The header can contain * a maximum of three header items. * * * * **Example:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"); * oRenderer.addHeaderItem({ * id: "myTestButton", * ariaLabel: resources.i18n.getText("testButton.label"), * ariaHaspopup: "dialog", * icon: "sap-icon://action-settings", * tooltip: resources.i18n.getText("testButton.tooltip"), * text: resources.i18n.getText("testButton.text"), * press: controller.handleTestButtonPress * }, true, true); * ``` * * See: * LaunchpadState * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createHeaderItem} or * {@link sap.ushell.services.FrameBoundExtension#createHeaderItem} instead. * * @returns The created control */ addHeaderItem( /** * The (class) name of the control type to create. **Deprecated**: Since version 1.38. This parameter is * no longer supported and can be omitted. */ controlType: string, /** * The properties that will be passed to the created control. For example: `{id: "testButton"}` */ oControlProperties: object, /** * Specifies whether the header item control is displayed after being created. * If `true` then the control is displayed according to parameters bCurrentState and aStates. * If `false` then the control is created but not displayed. */ bIsVisible: boolean, /** * If `true` then the new created control is added to the current rendered shell state. * When the user navigates to a different state including a different application then the control will * be removed. * If `false` then add the control to the LaunchPadState itself. */ bCurrentState: boolean, /** * (Valid only if bCurrentState is `false`) * A list of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which the control * is added. * If no launchpad state is provided the control is added in all states. */ aStates: string[] ): Control; /** * Creates and displays an item in the header of Fiori launchpad, in the given launchpad states. * The new header item will be displayed on the left-hand side of the Fiori Launchpad shell header, according * to the given display parameters. * The new header item will be added to the right of any existing header items. The header can contain * a maximum of three header items. * * * * **Example:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"); * oRenderer.addHeaderItem({ * id: "myTestButton", * ariaLabel: resources.i18n.getText("testButton.label"), * ariaHaspopup: "dialog", * icon: "sap-icon://action-settings", * tooltip: resources.i18n.getText("testButton.tooltip"), * text: resources.i18n.getText("testButton.text"), * press: controller.handleTestButtonPress * }, true, true); * ``` * * See: * LaunchpadState * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createHeaderItem} or * {@link sap.ushell.services.FrameBoundExtension#createHeaderItem} instead. * * @returns The created control */ addHeaderItem( /** * The properties that will be passed to the created control. For example: `{id: "testButton"}` */ oControlProperties: object, /** * Specifies whether the header item control is displayed after being created. * If `true` then the control is displayed according to parameters bCurrentState and aStates. * If `false` then the control is created but not displayed. */ bIsVisible: boolean, /** * If `true` then the new created control is added to the current rendered shell state. * When the user navigates to a different state including a different application then the control will * be removed. * If `false` then add the control to the LaunchPadState itself. */ bCurrentState: boolean, /** * (Valid only if bCurrentState is `false`) * A list of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which the control * is added. * If no launchpad state is provided the control is added in all states. */ aStates: string[] ): Control; /** * Creates the Left Pane content in Fiori launchpad, in the given launchpad states. * * * **Example:** * ```javascript * * sap.ushell.Container.getRenderer("fiori2").addLeftPaneContent("sap.m.Button", {id: "testBtn", text: "Test Button"}, true, true); * ``` * * * This function is marked for deprecation as of version 1.48. * It will continue to work as expected as long as one of the following conditions apply: * 1. The control instance is already created and its ID is included in the input parameter oControlProperties * 2. The control type resource is already loaded * See: * LaunchpadState * If no launchpad state is provided the content is added in all states. * * @since 1.30 * @deprecated As of version 1.48. Please use {@link #addSidePaneContent} instead. * * @returns oItem - the created control */ addLeftPaneContent( /** * The (class) name of the control type to create. */ controlType: string, /** * The properties that will be passed to the created control. */ oControlProperties: object, /** * Specify whether to display the control. */ bIsVisible: boolean, /** * If true, add the current control only to the current rendered shell state. Once the user navigates to * another app or back to the Home page, this control will be removed. */ bCurrentState: boolean, /** * (only valid if bCurrentState is set to false) - list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState * in which to add the control. */ aStates: string[] ): object; /** * Creates and displays a sub header control in Fiori launchpad, in the given launchpad states. * The new control is displayed in FLP UI according to the given display parameters. * If a sub header already exists, the new created one will replace the existing one. * * **Example:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"), * oAddSubHeaderProperties = { * controlType : "sap.m.Bar", * oControlProperties : { * id: "testBar", * contentLeft: [new sap.m.Button({ * text: "Test SubHeader Button", * press: function () { * sap.m.MessageToast.show("Pressed"); * } * }) * }, * bIsVisible: true, * bCurrentState: true * }; * * oRenderer.addShellSubHeader(oAddSubHeaderProperties); * ``` * * * @since 1.48 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#createSubHeader } * instead. * * @returns Resolves with the newly created control */ addShellSubHeader( /** * Contains the required parameters for creating and showing the new control object. */ oParameters: { /** * The (class) name of the control type to create. */ controlType: string; /** * The properties that will be passed to the created control. */ oControlProperties: object; /** * Specify whether to display the control. */ bIsVisible: boolean; /** * If true, add the current control only to the current rendered shell state. Once the user navigates to * another app or back to the Home page, this control will be removed. */ bCurrentState: boolean; /** * (only valid if bCurrentState is set to false) - list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState * in which to add the control. */ aStates: string[]; } ): jQuery.Promise; /** * Creates the Left Pane content in Fiori launchpad, in the given launchpad states. * * * **Example:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"), * oSidePaneContentProperties = { * controlType : "sap.m.Button", * oControlProperties : { * id: "testBtn", * text: "Test Button" * }, * bIsVisible: true, * bCurrentState: true * }; * * oRenderer.addSidePaneContent(oSidePaneContentProperties); * ``` * * See: * LaunchpadState * If no launchpad state is provided the content is added in all states. * * @since 1.48 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#getSidePane } * instead. * * @returns Resolves with the newly created control */ addSidePaneContent( /** * Contains the parameters for the control that should be added to the side pane */ oParameters: { /** * The (class) name of the control type to create. */ controlType: string; /** * The properties that will be passed to the created control. */ oControlProperties: object; /** * Specify whether to display the control. */ bIsVisible: boolean; /** * If true, add the current control only to the current rendered shell state. Once the user navigates to * another app or back to the Home page, this control will be removed. */ bCurrentState: boolean; /** * (only valid if bCurrentState is set to false) - list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState * in which to add the control. */ aStates: string[]; } ): jQuery.Promise; /** * Creates and displays a sub header control in Fiori launchpad, in the given launchpad states. * The new control is displayed in FLP UI according to the given display parameters. * If a sub header already exists, the new created one will replace the existing one. * * * * **Example:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"); * oRenderer.addSubHeader("sap.m.Bar", {id: "testBar", contentLeft: [new sap.m.Button({text: "Test SubHeader Button", * press: function () { * sap.m.MessageToast.show("Pressed"); * }}) * ]}, true, true); * ``` * * * This function is marked for deprecation as of version 1.48. * It will continue to work as expected as long as one of the following conditions apply: * 1. The control instance is already created and its ID is included in the input parameter oControlProperties * 2. The control type resource is already loaded * See: * LaunchpadState * * @since 1.30 * @deprecated As of version 1.48. Please use {@link #addShellSubHeader} instead. * * @returns The created control */ addSubHeader( /** * The (class) name of the control type to create. * For example: `"sap.m.Bar"` */ controlType: string, /** * The properties that will be passed to the created control. * For example: `{id: "testBar"}` */ oControlProperties: object, /** * Specifies whether the sub header control is displayed after being created. * If `true` then the control is displayed according to parameters bCurrentState and aStates, * if `false` then the control is created but not displayed. */ bIsVisible: boolean, /** * If `true` then the new created control is added to the current rendered shell state. * When the user navigates to another application (including the Home page) then the control will be removed. * If `false` then add the control to the LaunchPadState itself. */ bCurrentState: boolean, /** * (Valid only if bCurrentState is `false`) * A list of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which the control * is added. * If no launchpad state is provided the control is added in all states. */ aStates: string[] ): object; /** * Creates a ToolAreaItem in Fiori Launchpad and adds it to the Tool Area, in the given launchpad states. * Once the item is added, the Tool Area is rendered on the left side on the Fiori Launchpad shell. * * **Example:** * ```javascript * * sap.ushell.Container.getRenderer("fiori2").addToolAreaItem({ * id: "testButton", * icon: "sap-icon://documents", * expandable: true, * press: function (evt) { * window.alert("Press" ); * }, * expand: function (evt) { * // This function will be called on the press event of the "expand" button. The result of "expand" event in the UI must be determined by the developer * window.alert("Expand" ); * } * }, true, false, ["home"]); * ``` * * See: * sap.ushell.ui.shell.ToolAreaItem * sap.ushell.renderers.fiori2.Renderer.LaunchpadState. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#getToolArea } * instead. * * @returns the added control */ addToolAreaItem( /** * The properties object that will be passed to the constructor of sap.ushell.ui.shell.ToolAreaItem control. */ oControlProperties: object, /** * Specify whether to display the control. */ bIsVisible: boolean, /** * If `true`, add the item to the currently rendered shell. If `false`, add the item to the given LaunchPadStates * This causes the items to be rendered every time the given states are active. */ bCurrentState: boolean, /** * (only valid if bCurrentState is set to `false`) - An array of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) * in which the controls are added. If no launchpad state is provided the items are added in all states. */ aStates: string[] ): Control; /** * Creates an Action Button in Fiori launchpad, in the given launchpad states. * The button will be displayed in the user actions menu, that is opened from the user button in the shell * header. * **Example:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"), * oAddActionButtonProperties = { * controlType : "sap.m.Button", * oControlProperties : { * id: "exampleButton", * text: "Example Button", * icon: "sap-icon://refresh", * press: function () { * alert("Example Button was pressed!"); * } * }, * bIsVisible: true, * bCurrentState: true * }; * oRenderer.addUserAction(oAddActionButtonProperties); * ``` * * * @since 1.48 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createUserAction} or * {@link sap.ushell.services.FrameBoundExtension#createUserAction} instead. * * @returns Resolves with the newly created control */ addUserAction( /** * Contains the required parameters for creating and showing the new control object. */ oParameters: { /** * The (class) name of the control type to create. */ controlType: string; /** * The properties that will be passed to the created control. */ oControlProperties: object; /** * Specify whether to display the control. */ bIsVisible: boolean; /** * If true, add the current control only to the current rendered shell state. Once the user navigates to * another app or back to the Home page, this control will be removed. */ bCurrentState: boolean; /** * (only valid if bCurrentState is set to false) - list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState * in which to add the control. If no launchpad state is provided the content is added in all states. @see * LaunchpadState */ aStates: string[]; } ): jQuery.Promise; /** * Adds an entry to the User Preferences dialog box including the UI control that appears when the user * clicks the new entry, and handling of User Preferences actions such as SAVE and CANCEL. * * **Example:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"); * var oEntry = { * title: "title", * value: function() { * return jQuery.Deferred().resolve("entryTitleToBeDisplayed"); * }, * content: function() { * return jQuery.Deferred().resolve(new sap.m.Button("userPrefEntryButton", {text: "Button"})); * }, * onSave: function() { * return jQuery.Deferred().resolve(); * } * }; * oRenderer.addUserPreferencesEntry(oEntry); * ``` * * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#addUserSettingsEntry } * instead. */ addUserPreferencesEntry( /** * The data of the new added User Preference entry. */ entryObject: { /** * (Optional) - The ID of the object. */ entryHelpID: string; /** * The title of the entry to be presented in the list in the User Preferences dialog box. We recommend using * a string from the translation bundle. */ title: string; /** * A function to be called that returns a {@link jQuery.Promise} object which consists of a {sap.ui.core.Control } * to be displayed in a follow-on dialog box. A SAPUI5 view instance can also be returned. The function * is called on each time the user opens the User Preferences dialog box. */ content: Function; /** * A function to be called which returns a {@link jQuery.Promise} object when the user clicks "save" in * the User Preferences dialog box. If an error occurs, pass the error message via the {@link jQuery.Promise } * object. Errors are displayed in the log. */ onSave: Function; /** * A function to be called that closes the User Preferences dialog box without saving any changes. */ onCancel: Function; /** * Set this value to true if you want that your content is displayed without the standard header. */ provideEmptyWrapper: boolean; }, /** * A string to be presented as the value of the entry OR a function to be called which returns a {@link jQuery.Promise } * object. */ value: string | Function ): void; /** * This method returns the current state of the Viewport Container control. * * @since 1.37 * @deprecated As of version 1.120. This functionality was discontinued. * * @returns The current Viewport State. */ getCurrentViewportState(): string; /** * Hides an action button from the User Actions Menu in the SAP Fiori launchpad, in the given launchpad * states (LaunchpadState). The removed button will not be destroyed. * * This API is meant to be used for custom elements in the SAP Fiori launchpad. We do not recommend using * it on standard launchpad elements, as this may interfere with the standard launchpad functionality. * See: * sap.ushell.renderers.fiori2.Renderer.LaunchpadState. * If no launchpad state is provided, the content is hidden in all states. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createUserAction} or * {@link sap.ushell.services.FrameBoundExtension#createUserAction} instead. */ hideActionButton( /** * IDs of the button controls that should hidden. */ aIds: string[], /** * If true, removes the current control only from the current rendered shell state. */ bCurrentState: boolean, /** * A list of the launchpad states in which to hide the control. Valid only if bCurrentState is set to false. */ aStates: string[] ): void; /** * Hide the given sap.ushell.ui.shell.ShellFloatingAction from Fiori Launchpad, in the given launchpad states. * The removed control will not be destroyed. * * This API is meant to be used for implementing custom elements in the SAP Fiori launchpad. We do not * recommend using it on a standard launchpad element, as this may interfere with the standard launchpad * functionality. * See: * LaunchpadState * If no launchpad state is provided the content is removed in all states. * * @since 1.30 * @deprecated As of version 1.52. Deprecated without successor. Support for the FloatingActionButton has * been discontinued. */ hideFloatingActionButton( /** * the Ids of the sap.ushell.ui.shell.ShellFloatingAction to remove. */ aIds: string[], /** * if true, remove the current control only from the current rendered shell state. */ bCurrentState: boolean, /** * list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState in which to remove the control. (Only * valid if bCurrentState is set to false) */ aStates: string[] ): void; /** * Hide the given sap.ushell.ui.shell.ShellHeadItem from Fiori Launchpad, in the given launchpad states. * The removed control will not be destroyed. * * This API is meant to be used for implementing custom elements in the SAP Fiori launchpad. We do not * recommend using it on a standard launchpad element, as this may interfere with the standard launchpad * functionality. * See: * LaunchpadState * If no launchpad state is provided the content is removed in all states. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createHeaderItem} or * {@link sap.ushell.services.FrameBoundExtension#createHeaderItem} instead. */ hideHeaderEndItem( /** * the Ids of the sap.ushell.ui.shell.ShellHeadItem to remove. */ aIds: string[], /** * if true, remove the current control only from the current rendered shell state. */ bCurrentState: boolean, /** * list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState in which to remove the control. (Only * valid if bCurrentState is set to false) */ aStates: string[] ): void; /** * Hide the given sap.ushell.ui.shell.ShellHeadItem from Fiori Launchpad, in the given launchpad states. * The removed control will not be destroyed. * * This API is meant to be used for implementing custom elements in the SAP Fiori launchpad. We do not * recommend using it on a standard launchpad element, as this may interfere with the standard launchpad * functionality. * See: * LaunchpadState * If no launchpad state is provided the content is removed in all states. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createHeaderItem} or * {@link sap.ushell.services.FrameBoundExtension#createHeaderItem} instead. */ hideHeaderItem( /** * the Ids of the sap.ushell.ui.shell.ShellHeadItem to remove. */ aIds: string[], /** * if true, remove the current control only from the current rendered shell state. */ bCurrentState: boolean, /** * list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState in which to remove the control. (Only * valid if bCurrentState is set to false) */ aStates: string[] ): void; /** * Hide the given control from Fiori Launchpad, in the given launchpad states. The removed control will * not be destroyed. * * This API is meant to be used for implementing custom elements in the SAP Fiori launchpad. We do not * recommend using it on a standard launchpad element, as this may interfere with the standard launchpad * functionality. * See: * LaunchpadState * If no launchpad state is provided the content is removed in all states. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#getSidePane } * instead. */ hideLeftPaneContent( /** * the Ids of the controls to remove. */ aIds: string[], /** * if true, remove the current control only from the current rendered shell state. */ bCurrentState: boolean, /** * list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState in which to remove the control. (Only * valid if bCurrentState is set to false) */ aStates: string[] ): void; /** * Hide the given control from the Fiori Launchpad sub header, in the given launchpad states. The removed * control will not be destroyed. * * This API is meant to be used for implementing custom elements in the SAP Fiori launchpad. We do not * recommend using it on a standard launchpad element, as this may interfere with the standard launchpad * functionality. * See: * LaunchpadState * If no launchpad state is provided the content is removed in all states. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#createSubHeader } * instead. */ hideSubHeader( /** * the Ids of the controls to remove. */ aIds: string[], /** * if true, remove the current control only from the current rendered shell state. */ bCurrentState: boolean, /** * list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState in which to remove the control. (Only * valid if bCurrentState is set to false) */ aStates: string[] ): void; /** * If exists, this method will remove the footer from the Fiori Launchpad. * * This API is meant to be used for implementing custom elements in the SAP Fiori launchpad. We do not * recommend using it on a standard launchpad element, as this may interfere with the standard launchpad * functionality. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension.Footer#destroy } * instead. */ removeFooter(): void; /** * Remove the given Tool Area Item from Fiori Launchpad, in the given launchpad states. This API is meant * to be used for implementing custom elements in the SAP Fiori launchpad. We do not recommend using it * on a standard launchpad element, as this may interfere with the standard launchpad functionality. * See: * sap.ushell.renderers.fiori2.Renderer.LaunchpadState. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#getToolArea } * instead. */ removeToolAreaItem( /** * A single ID or an array of IDs to remove from the Tool Area. */ vIds: string | string[], /** * If `true`, remove the items from the currently rendered shell. If `false`, remove the items from the * LaunchPadState itself, causing the items to be removed every time the given states are active. */ bCurrentState: boolean, /** * (only valid if bCurrentState is set to `false`) - An array of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) * from which the controls are removed. If no launchpad state is provided the items are removed from all * states. */ aStates: string[] ): void; /** * Displays the given sap.m.Bar as the footer of the Fiori launchpad shell. * The footer will be displayed in all states. * * * **Example:** * ```javascript * * var bar = new sap.m.Bar({contentLeft: [new sap.m.Button({text: "Test Footer Button", * press: function () { * sap.m.MessageToast.show("Pressed"); * }}) * ]}); * var renderer = sap.ushell.Container.getRenderer("fiori2"); * renderer.setFooter(bar); * ``` * * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#createFooter } * instead. */ setFooter( /** * sap.m.Bar, the control to be added as the footer of the Fiori Launchpad */ oFooter: Bar ): void; /** * Creates and displays an SAPUI5 control as the footer of the Fiori launchpad shell. * The footer will be displayed in all states. * Previously created footer will be removed. * * * **For example, using the sap.m.Bar control:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"); * oRenderer.setFooterControl("sap.m.Bar", {id: "testBar", contentLeft: [new sap.m.Button({text: "Test Footer Button", * press: function () { * sap.m.MessageToast.show("Pressed"); * }}) * ]}); * ``` * * * This function is marked for deprecation as of version 1.48. * It will continue to work as expected as long as one of the following conditions apply: * 1. The control instance is already created, and its ID is included in the input parameter oControlProperties * 2. The control type resource is already loaded * * @since 1.42 * @deprecated As of version 1.48. Please use {@link #setShellFooter} instead. * * @returns The created control */ setFooterControl( /** * The (class) name of the control type to create. * For example, `"sap.m.Bar"` */ controlType: string, /** * The properties that will be passed to the created control. * For example, `{id: "testBar"}` */ oControlProperties: object ): Control; /** * Sets the title in the Fiori Launchpad shell header. * * @since 1.30 * @deprecated As of version 1.120. The "second title" functionality was discontinued. Set a title via {@link sap.ushell.ui5service.ShellUIService#setTitle } * instead. */ setHeaderTitle( /** * The title to be displayed in the Fiori Launchpad shell header */ sTitle: string ): void; /** * Sets the header visibility according to the given value and shell states. (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState). * * **Example:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"); * oRenderer.setHeaderVisibility(false, false, ["home", "app"]); * ``` * * See: * LaunchpadState * * @since 1.38 * @deprecated As of version 1.120. This functionality was discontinued. */ setHeaderVisibility( /** * The visibility of the header */ bVisible: boolean, /** * If `true` then the visibility is set only to the current rendered shell state. * When the user navigates to another application (including the Home page) then the visibility flag is * reset. * If `false` then set the visibility according to the states provided in the aState parameter. */ bCurrentState: boolean, /** * (Valid only if bCurrentState is `false`) * A list of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which the header * visibility flag should be set. * If no launchpad state is provided the visibility flag is set for all states. */ aStates: string[] ): void; /** * Sets the visibility of the left pane in the Fiori Launchpad shell, in the given launchpad state @see * LaunchpadState * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#getSidePane } * instead. */ setLeftPaneVisibility( /** * LaunchpadState in which to show/hide the left pane */ sLaunchpadState: string, /** * specify whether to display the left pane or not */ bVisible: boolean ): void; /** * Creates and displays an SAPUI5 control as the footer of the Fiori launchpad shell. * The footer will be displayed in all states. * Previously created footer will be removed. * * * **For example, using the sap.m.Bar control:** * ```javascript * * var oRenderer = sap.ushell.Container.getRenderer("fiori2"), * oFooterControlProperties = { * controlType : "sap.m.Bar", * oControlProperties : { * id: "testBar", * contentLeft: [new sap.m.Button({ * text: "Test Footer Button", * press: function () { * sap.m.MessageToast.show("Pressed"); * } * })] * } * }; * oRenderer.setShellFooter(oFooterControlProperties); * ``` * * * @since 1.48 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#createFooter } * instead. * * @returns Resolves with the newly created control */ setShellFooter( /** * Contains the required parameters for creating and showing the new control object. */ oParameters: { /** * The (class) name of the control type to create, for example: `sap.m.Bar` */ controlType: string; /** * The properties that will be passed to the created control, for example: `{id: "testBar"}` */ oControlProperties: object; } ): jQuery.Promise; /** * Displays action buttons in the User Actions Menu in the SAP Fiori launchpad, in the given launchpad states * (LaunchpadState). (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState). * If no launchpad state is provided the content is displayed in all states. * The user actions menu is opened via the button on the right hand side of the shell header. * * * **Example:** * ```javascript * * var button1 = new sap.m.Button(); * var renderer = sap.ushell.Container.getRenderer("fiori2"); * renderer.showActionButton([button1.getId()], false, ["home", "app"]); * ``` * * See: * sap.ushell.renderers.fiori2.Renderer.LaunchpadState. * If no launchpad state is provided, the content is added in all states. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createUserAction} or * {@link sap.ushell.services.FrameBoundExtension#createUserAction} instead. */ showActionButton( /** * List of ID elements to that should be added to the User Actions Menu options bar. */ aIds: string[], /** * If true, add the created control to the current rendered shell state. When the user navigates to a different * state, or to a different application, then the control is removed. If false, the control is added to * the LaunchpadState. */ bCurrentState: boolean, /** * List of the launchpad states (sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which to add the * aIds. Valid only if bCurrentState is set to false. */ aStates: string[] ): void; /** * Displays FloatingActionButton in the bottom right corner of the Fiori launchpad, in the given launchpad * states. The FloatingActionButton is rendered in the bottom right corner of the shell. * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState). * If no launchpad state is provided, the content is displayed in all states. * * * **Example:** * ```javascript * * var button1 = new sap.ushell.ui.shell.ShellFloatingAction(); * var renderer = sap.ushell.Container.getRenderer("fiori2"); * renderer.showFloatingActionButton([button1.getId()], true); * ``` * * * @since 1.30 * @deprecated As of version 1.52. Support for the FloatingActionButton has been discontinued. */ showFloatingActionButton( /** * List of ID elements to add to the user actions menu. */ aIds: string[], /** * if true, add the current Buttons only to the current instance of the rendering of the shell. if false, * add the Buttons to the LaunchPadState itself. */ bCurrentState: boolean, /** * (only valid if bCurrentState is set to false) - list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState * in which to add the aIds. */ aStates: string[] ): void; /** * Displays HeaderItems on the right side of the Fiori launchpad shell header, in the given launchpad states * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState). * If no launchpad state is provided the content is displayed in all states. * The shell header can display the user HeaderItem, and just one more HeaderItem. * If this method is called when the right side of the header is full, this method will not do anything. * * * **Example:** * ```javascript * * var button1 = new sap.ushell.ui.shell.ShellHeadItem(); * var renderer = sap.ushell.Container.getRenderer("fiori2"); * renderer.showHeaderEndItem ([button1.getId()], false, ["home", "app"]); * ``` * * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createHeaderItem} or * {@link sap.ushell.services.FrameBoundExtension#createHeaderItem} instead. */ showHeaderEndItem( /** * List of ID elements to add to the shell header. */ aIds: string[], /** * if true, add the current HeaderItems only to the current instance of the rendering of the shell. if false, * add the HeaderItems to the LaunchPadState itself. */ bCurrentState: boolean, /** * (only valid if bCurrentState is set to false) - list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState * in which to add the aIds. */ aStates: string[] ): void; /** * Creates and displays one or more HeaderItem controls according to the given control IDs and Shell states * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState). * * The HeaderItem controls will be displayed on the left side of the Fiori Launchpad shell header according * to the given display parameters. * There can be up to three header items. If the number of existing header items plus the given ones exceeds * 3, then the operation fails and no new header items are created. * * * **Example:** * ```javascript * * var button1 = new sap.ushell.ui.shell.ShellHeadItem(); * var button2 = new sap.ushell.ui.shell.ShellHeadItem(); * var renderer = sap.ushell.Container.getRenderer("fiori2"); * renderer.showHeaderItem ([button1.getId(), button2.getId()], false, ["home", "app"]); * ``` * * See: * sap.ushell.renderers.fiori2.Renderer.LaunchpadState. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension#createHeaderItem} or * {@link sap.ushell.services.FrameBoundExtension#createHeaderItem} instead. */ showHeaderItem( /** * Either ID or an array of IDs of headerItem controls to be added to the shell header. */ vIds: string | string[], /** * If `true` then the new created controls are added to the current rendered shell state. When the user * navigates to another application (including the Home page) then the controls will be removed. If `false` * then the controls are added to the LaunchPadState itself. */ bCurrentState: boolean, /** * Valid only if bCurrentState is `false`. A list of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) * in which the controls are added. If no launchpad state is provided the controls are added in all states. */ aStates: string[] ): void; /** * Displays one or more sub header controls according to the given control IDs and shell states. * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState). * * A sub header is placed in a container, located directly below the main Fiori launchpad shell header. * * * **Example:** * ```javascript * * var bar = new sap.m.Bar({id: "testBar", contentLeft: [new sap.m.Button({text: "Test SubHeader Button", * press: function () { * sap.m.MessageToast.show("Pressed"); * }}) * ]}); * var oRenderer = sap.ushell.Container.getRenderer("fiori2"); * oRenderer.showSubHeader([bar.getId()], false, ["home", "app"]); * ``` * * See: * LaunchpadState * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#createSubHeader } * instead. */ showSubHeader( /** * Array of sub header control IDs to be added */ aIds: string[], /** * If `true` then the new created controls are added only to the current rendered shell state. * When the user navigates to another application (including the Home page) then the controls will be removed. * If `false` then add the control to the LaunchPadState itself. */ bCurrentState: boolean, /** * (Valid only if bCurrentState is `false`) * A list of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which the controls * are added. * If no launchpad state is provided the controls are added in all states. */ aStates: string[] ): void; /** * Sets the ToolArea visibility * * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#getToolArea } * instead. */ showToolArea( /** * LaunchpadState in which to show/hide the ToolArea @see LaunchpadState */ sLaunchpadState?: string, /** * specifies whether to display the ToolArea or not */ bVisible?: boolean ): void; /** * Displays ToolAreaItems on the left side of the Fiori Launchpad shell, in the given launchpad states. * * **Example:** * ```javascript * * sap.ui.require(["sap/ushell/ui/shell/ToolAreaItem"], function (ToolAreaItem) { * var oRenderer = sap.ushell.Container.getRenderer("fiori2"), * oToolAreaItem = new ToolAreaItem({ icon: "sap-icon://wrench" }); * renderer.showToolAreaItem(oToolAreaItem.getId(), false, ["home", "app"]); * }); * ``` * * See: * sap.ushell.renderers.fiori2.Renderer.LaunchpadState. * * @since 1.30 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.FrameBoundExtension#getToolArea } * instead. */ showToolAreaItem( /** * A single ID or an array of IDs to add to the Tool Area. */ vIds: string | string[], /** * If `true`, add the items to the currently rendered shell. If `false`, add the items to the LaunchPadState * itself, causing the items to be rendered every time the given states are active. */ bCurrentState: boolean, /** * Only valid if bCurrentState is set to `false`. An array of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) * in which the controls are added. If no launchpad state is provided the items are added in all states. */ aStates: string[] ): void; } /** * Describes the settings that can be provided to the Renderer constructor. * * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Extension} or {@link sap.ushell.services.FrameBoundExtension } * instead. */ export interface $RendererSettings extends $UIComponentSettings {} } declare module "sap/ushell/sandbox/SandboxBootTask" { /** * The Unified Shell's bootstrap code for development sandbox scenarios. * * This module provides a boot task that integrates the sandbox configuration provider into the UI5 configuration * system. It is used for UI5 1.x compatibility where the boot task mechanism is required to inject configuration * before the framework fully initializes. * * For UI5 2.x, the preferred approach is to use the manifest-based configuration via `sandboxManifest.json`. * * Usage: Include this script before the UI5 bootstrap script to register the sandbox configuration provider * via the `xx-bootTask` mechanism. * * @since 1.136 * @deprecated As of version 1.136. Use sandboxManifest.json with manifest-based boot configuration instead */ interface SandboxBootTask {} const SandboxBootTask: SandboxBootTask; /** * @deprecated As of version 1.136. Use sandboxManifest.json with manifest-based boot configuration instead */ export default SandboxBootTask; } declare module "sap/ushell/services/AppConfiguration" { import Button from "sap/m/Button"; /** * The unified shell's AppConfiguration service as a singleton object. * * @since 1.15.0 */ interface AppConfiguration { /** * Adds an entry to user recent activity list. The list of recent activities will be displayed in the UserActionsMenu * of FLP application (fiori 2.0) This method should be used by applications of special types. like "Search", * "OVP", "Co-Pilot" and "FactSheet" This method should be only called in the "exit" method of applications * Component.js in order to assure that it will be added to recent activities. For these applications the * unique identifier of the entry is url and not appId, so in order to add different entry, different url * should be specified, otherwise the entry will be updated with a new timestamp Only applications of type * Search and Co-Pilot can set their icon. * * @deprecated As of version 1.120. Deprecated without successor. * * @returns Resolves the updated list of user recents. */ addActivity( /** * oRecentActivity */ oRecentActivity: object ): jQuery.Promise; /** * Adds buttons to the action sheet in the shell header. This function always overrides the already existing * application settings buttons with the new buttons. It is meant to be used by applications that want to * add their own settings button to the shell header. * * @deprecated As of version 1.120. Use {@link sap.ushell.services.Extension#createUserAction} instead. */ addApplicationSettingsButtons( /** * List of sap.m.Button controls */ aButtons: Button[] ): void; /** * Sets the application screen size to full width * * @deprecated As of version 1.120. Use {@link sap.ushell.ui5service.ShellUIService#setApplicationFullWidth } * instead. */ setApplicationFullWidth( /** * A Boolean value indicating if the application fills the full width of the screen */ bValue: boolean ): void; /** * Sets the icons of the browser. * * @deprecated As of version 1.120. Use {@link sap.ui.util.Mobile#setIcons} instead. */ setIcons( /** * Icon properties, an object holding icon URLs */ oIconsProperties: object ): void; } const AppConfiguration: AppConfiguration; export default AppConfiguration; /** * Type for the metadata object for AppConfiguration * * @since 1.120.0 */ export type Metadata = { /** * The title of the application */ title: string; /** * The library of the application */ library: string; /** * The version of the application */ version: string; /** * A Boolean value indicating if the application fills the full width of the screen */ fullWidth: boolean; }; } declare module "sap/ushell/services/AppLifeCycle" { import Event from "sap/ui/base/Event"; import CurrentApplication from "sap/ushell/services/AppLifeCycle/CurrentApplication"; /** * The Unified Shell's AppLifeCycle service. * * **Note:** To retrieve a valid instance of this service, it is necessary to call {@link sap.ushell.Container#getServiceAsync}. * * ```javascript * * sap.ui.require(["sap/ushell/Container"], async function (Container) { * const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle"); * // do something with the AppLifeCycle service * }); * ``` * * * @since 1.38 */ export default class AppLifeCycle extends sap.ushell.services.Service { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Attaches an event handler for the appLoaded event. This event handler will be triggered each time an * application has been loaded. * * @since 1.38 */ attachAppLoaded( /** * An object that will be passed to the handler along with the event object when the event is fired. */ oData: ObjectToBePassedToHandler, /** * The handler function to call when the event occurs. */ fnFunction: (p1: Event, p2: ObjectToBePassedToHandler) => void, /** * The object that wants to be notified when the event occurs (this context within the handler function). */ oListener: object ): void; /** * Detaches an event handler from the EventProvider. * * @since 1.38 */ detachAppLoaded( /** * The handler function that has to be detached from the EventProvider. */ fnFunction: Function, /** * The object that wanted to be notified when the event occurred */ oListener: object ): void; /** * Returns information about the currently running application or `undefined` if no application is running. * * @since 1.38 * * @returns Information object about currently running application or `undefined` if no application is running. * **Note:** Return value is only valid after app is loaded. See {@link #attachAppLoaded} for details. Before * an app is loaded, `undefined` is returned. */ getCurrentApplication(): CurrentApplication | undefined; } } declare module "sap/ushell/services/AppLifeCycle/CurrentApplication" { import ApplicationType from "sap/ushell/services/AppLifeCycle/ApplicationType"; import Component from "sap/ui/core/Component"; import AppInfoParameterName from "sap/ushell/services/AppLifeCycle/AppInfoParameterName"; import { DecomposedHash } from "sap/ushell/services/URLParsing"; /** * Defines the application info. Key-value pairs of application info parameters and their values. * * @since 1.120.0 */ export type AppInfo = Record; /** * Defines the current application. This object is only valid until the next application navigation. Fetch * it again from the AppLifeCycle service in the appLoaded event. * * @since 1.120.0 */ export default class CurrentApplication { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * The type of the current application. * * @since 1.120.0 */ applicationType: ApplicationType | keyof typeof ApplicationType; /** * Reference to component. Only available for applicationType "UI5" * * @since 1.120.0 */ componentInstance: Component | null; /** * `true` when root intent (normally #Shell-home) or Appfinder (#Shell-appfinder) is currently displayed. * * @since 1.120.0 */ homePage: boolean; /** * A function to collect the values of the given parameters * * @since 1.120.0 * * @returns Resolves to an object keeping the application info parameters with values */ getInfo( /** * Array of requested parameters */ aParameterNames: Array< AppInfoParameterName | keyof typeof AppInfoParameterName > ): Promise; /** * See {@link sap.ushell.services.URLParsing#parseShellHash} for details. This method is for SAP-internal * use only! * * @since 1.120.0 * * @returns A promise that resolves with the intent of the current application */ getIntent( /** * If set to true, the intent is extracted from the real application URL in case of a remote app */ bRealAppIntent: boolean ): Promise; /** * function that returns the value of a technical parameter for the given application. This method is for * SAP internal usage only. * * @since 1.120.0 * * @returns A promise that resolves with the value of the technical parameter */ getTechnicalParameter( /** * The name of the technical parameter */ sParameterName: string ): Promise; } } declare module "sap/ushell/services/AppLifeCycle/AppInfoParameterName" { /** * Enumeration of application info parameter names. * * @since 1.120.0 */ enum AppInfoParameterName { /** * ID of the framework */ appFrameworkId = "appFrameworkId", /** * Version of the framework */ appFrameworkVersion = "appFrameworkVersion", /** * Universal stable logical identifier of the application across the whole content. */ appId = "appId", /** * Intent that was used to launch the application (including parameters) */ appIntent = "appIntent", /** * The name of an organizational component that handles support incidents. */ appSupportInfo = "appSupportInfo", /** * Version of the app */ appVersion = "appVersion", /** * Current Language (BCP47 format) */ languageTag = "languageTag", /** * A human readable free form text maintained on the platform where FLP runs, and identifying the current * product. */ productName = "productName", /** * Identifier of the component that implements the base application. */ technicalAppComponentId = "technicalAppComponentId", /** * Current FLP theme. Includes the path to the theme resources if the theme is not an sap theme (does not * start with sap_) */ theme = "theme", /** * The transaction code which not always available and therefore can be undefined. */ transaction = "transaction", } export default AppInfoParameterName; } declare module "sap/ushell/services/AppLifeCycle/ApplicationType" { /** * Enumeration of application types. * * @since 1.120.0 */ enum ApplicationType { /** * The application is starting using the SAP Business Client. */ NWBC = "NWBC", /** * The application is started using a transaction */ TR = "TR", /** * The application is a UI5 application. */ UI5 = "UI5", /** * The application is started using a URL */ URL = "URL", /** * The application is a Webdynpro application. */ WDA = "WDA", } export default ApplicationType; } declare module "sap/ushell/services/Bookmark" { import { ContentNodeType } from "sap/ushell/library"; /** * The Unified Shell's bookmark service. Allows creating shortcuts on the user's home page. * * **Note:** To retrieve a valid instance of this service, it is necessary to call {@link sap.ushell.Container#getServiceAsync}. * * ```javascript * * sap.ui.require(["sap/ushell/Container"], async function (Container) { * const Bookmark = await Container.getServiceAsync("Bookmark"); * // do something with the Bookmark service * }); * ``` * * * @since 1.15.0 * @deprecated As of version 1.119. Please use {@link sap.ushell.services.BookmarkV2} instead. */ export default class Bookmark extends sap.ushell.services.Service { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Adds a bookmark tile to one of the user's classic home page groups or to multiple provided content nodes. * See: * sap.ushell.services.URLParsing#getShellHash * * @since 1.15.0 * @deprecated As of version 1.119. Please use {@link sap.ushell.services.BookmarkV2#addBookmark} instead. * * @returns Resolves on success, but rejects with a reason-message on failure to add the bookmark to the * specified or implied group. The promise gets resolved if personalization is disabled. */ addBookmark( /** * Bookmark parameters. In addition to title and URL, a bookmark might allow further settings, such as an * icon or a subtitle. Which settings are supported depends on the environment in which the application * is running. Unsupported parameters will be ignored. */ oParameters: { /** * The title of the bookmark. */ title: string; /** * The target intent or URL of the bookmark. If the target app runs in the current shell, the URL has to * be a valid intent, i.e. in the format `"#SO-Action?P1=a&P2=x&/route?RPV=1"`. */ url: string; /** * The optional icon URL of the bookmark (e.g. `"sap-icon://home"`). */ icon?: string; /** * The information text of the bookmark. */ info?: string; /** * The subtitle of the bookmark. */ subtitle?: string; /** * The URL to a REST or OData service that provides some dynamic information for the bookmark. * * **Semantic Date Ranges:** * * You can use placeholders for dynamic dates in the query parameters of the service URL. This can be used * to create KPI tiles based on user entries in control {@link sap.m.DynamicDateRange}, where it is possible * to specify dynamic dates like YESTERDAY or THISYEAR. * * The placeholder format looks like this: {Edm.%%DynamicDate....%%} * * * - : The Edm Type of the parameter. Supported types are String, DateTime and DateTimeOffset * for OData V2 and Date and DateTimeOffset for OData V4. * - , , : Possible values are the ones that can be used in * {@link sap.m.DynamicDateRange#toDates} to create a date range. * - : Possible values are 'start' and 'end' which mark the start or end of the interval * specified by the operator. * * Examples: * - /a/url/$count?$filter=(testDate ge {Edm.DateTimeOffset%DynamicDate.YESTERDAY.start%} and testDate * le {Edm.DateTimeOffset%DynamicDate.YESTERDAY.end%}) * - /a/url/$count?$filter=(testDate ge {Edm.DateTime%DynamicDate.THISYEAR.start%} and testDate le {Edm.DateTime%DynamicDate.THISYEAR.end%}) * * - /a/url/$count?$filter=(testDate ge {Edm.Date%DynamicDate.TODAYFROMTO.1.5.start%} and testDate le * {Edm.Date%DynamicDate.TODAYFROMTO.1.5.end%}) * * Hint: Check the debug log when displaying the resulting KPI tiles to get more information about the resolution * of the placeholders. */ serviceUrl?: string; /** * Metadata for parameter serviceUrl. Mandatory to specify if parameter serviceURL contains semantic date * ranges. This does not influence the data source of the app itself. * * Specify the data source as follows: * ```javascript * * { * type: "OData", * settings: { * odataVersion: "4.0" * } * } * ``` * * * * type: The type of the serviceURL's service. Only "OData" is supported. odataVersion: The OData version * of parameter serviceURL. Valid values are "2.0" and "4.0". */ dataSource?: object; /** * The refresh interval for the `serviceUrl` in seconds. */ serviceRefreshInterval?: string; /** * The unit for the number retrieved from `serviceUrl`. */ numberUnit?: string; }, /** * Either a legacy launchpad home page group, one content node or an array of content nodes (see {@link #getContentNodes}). * If not provided, the bookmark will be added to the default group if spaces mode is not active or to the * default page if spaces mode is active. */ vContainer?: object | ContentNode | ContentNode[], /** * The contentProviderId or undefined outside the cFLP */ sContentProviderId?: string ): jQuery.Promise; /** * Adds the catalog tile with the given ID to given group. The catalog tile is looked up in the legacy SAP * HANA catalog unless data to look up a remote catalog is provided. * * @since 1.21.2 * @deprecated As of version 1.112. Please use {@link sap.ushell.services.BookmarkV2#addBookmark} instead. * * @returns Resolves if successful. In case of failure, an error message is passed. In launchpad spaces * mode the promise gets rejected. */ addCatalogTileToGroup( /** * The ID of the tile within the catalog */ sCatalogTileId: string, /** * The id of the group. If not given, the tile is added to the default group */ sGroupId?: string, /** * The data to identify the catalog containing the tile with the given ID */ oCatalogData?: { /** * The remote catalog's base URL such as "/sap/hba/apps/kpi/s/odata/hana_chip_catalog.xsodata/" */ baseUrl: string; /** * The remote catalog's id on the remote system such as "HANA_CATALOG" */ remoteId: string; } ): jQuery.Promise; /** * Counts **all** bookmarks pointing to the given URL from all of the user's pages. You can use this method * to check if a bookmark already exists. This is a potentially asynchronous operation in case the user's * pages have not yet been loaded completely! * See: * #addBookmark * * @since 1.17.1 * @deprecated As of version 1.119. Please use {@link sap.ushell.services.BookmarkV2#countBookmarks} instead. * * @returns Resolves the count of existing bookmarks is provided (which might be zero). In case of failure, * an error message is passed. */ countBookmarks( /** * The URL of the bookmarks to be counted, exactly as specified to {@link #addBookmark}. */ sUrl: string, /** * The Content Provider ID. */ sContentProviderId: string ): jQuery.Promise; /** * Deletes **all** bookmarks pointing to the given URL from all of the user's pages. * See: * #addBookmark * #countBookmarks * * @since 1.17.1 * @deprecated As of version 1.119. Please use {@link sap.ushell.services.BookmarkV2#deleteBookmarks} instead. * * @returns Resolves the number of deleted bookmarks is provided (which might be zero). In case of failure, * an error message is passed. */ deleteBookmarks( /** * The URL of the bookmarks to be deleted, exactly as specified to {@link #addBookmark}. */ sUrl: string, /** * The contentProviderId or undefined outside the cFLP */ sContentProviderId?: string ): jQuery.Promise; /** * Returns available content nodes based on the current launchpad context. (Classic home page, spaces mode) * * A content node may be: * - a classic home page group * - an unselectable node (space) or a selectable node (page) in spaces mode * - or any other containers in the future * * It has the following properties: * - id: ID of the content node * - label: Human-readable representation of a content node which can be displayed in a control * - type: Specifies the content node type. E.g: space, page, group, etc. See {@link sap.ushell.ContentNodeType } * * - isContainer: Specifies if a bookmark can be added * - children: Specifies sub-nodes * * @since 1.81 * @deprecated As of version 1.119. Please use {@link sap.ushell.services.BookmarkV2#getContentNodes} instead. * * @returns Promise resolving the currently available content nodes. */ getContentNodes(): Promise; /** * Updates **all** bookmarks pointing to the given URL on all of the user's pages with the given new parameters. * Parameters which are omitted are not changed in the existing bookmarks. * See: * #addBookmark * #countBookmarks * #deleteBookmarks * * @since 1.17.1 * @deprecated As of version 1.119. Please use {@link sap.ushell.services.BookmarkV2#updateBookmarks} instead. * * @returns Resolves the number of updated bookmarks is provided (which might be zero). In case of failure, * an error message is passed. */ updateBookmarks( /** * The URL of the bookmarks to be updated, exactly as specified to {@link #addBookmark}. In case you need * to update the URL itself, pass the old one here and the new one as `oParameters.url`! */ sUrl: string, /** * Bookmark parameters. In addition to title and URL, a bookmark might allow additional settings, such as * an icon or a subtitle. Which settings are supported depends on the environment in which the application * is running. Unsupported parameters will be ignored. */ oParameters: { /** * The title of the bookmark. */ title: string; /** * The target URL or intent of the bookmark. If the target application shall run in the current shell, the * URL has to be a valid intent, i.e. in the format like `"#SO-Action?P1=a&P2=x&/route?RPV=1"`. */ url: string; /** * The optional icon URL of the bookmark (e.g. `"sap-icon://home"`). */ icon?: string; /** * The information text of the bookmark. */ info?: string; /** * The subtitle of the bookmark. */ subtitle?: string; /** * The URL to a REST or OData service that provides some dynamic information for the bookmark. */ serviceUrl?: string; /** * Metadata for parameter serviceUrl. Mandatory to specify if parameter serviceURL contains semantic date * ranges. This does not influence the data source of the app itself. */ dataSource?: { /** * The type of the serviceURL's service. Only "OData" is supported. */ type?: string; /** * Additional settings for the data source. */ settings?: { /** * The OData version of parameter serviceURL. Valid values are "2.0" and "4.0". */ odataVersion?: object; }; }; /** * The refresh interval for the `serviceUrl` in seconds. */ serviceRefreshInterval?: string; /** * The unit for the number retrieved from `serviceUrl`. */ numberUnit?: string; }, /** * The contentProviderId or undefined outside the cFLP */ sContentProviderId?: string ): jQuery.Promise; } /** * A content node may be: - a classic home page group - an unselectable node (space) or a selectable node * (page) in spaces mode - or any other containers in the future * * @deprecated As of version 1.119. because it is part of the deprecated package sap.ushell.services.Bookmark */ export type ContentNode = { /** * ID of the content node */ id: string; /** * Human-readable representation of a content node which can be displayed in a control */ label: string; /** * Specifies the content node type. E.g: space, page, group, etc. See {@link sap.ushell.sap.ushell.services.Bookmark.ContentNodeType} */ type: ContentNodeType | keyof typeof ContentNodeType; /** * Specifies if a bookmark can be added */ isContainer: boolean; /** * Specifies sub-nodes */ children?: ContentNode[]; }; } declare module "sap/ushell/services/BookmarkV2" { import { URI } from "sap/ui/core/library"; import { ContentNodeType } from "sap/ushell/library"; /** * The Unified Shell's bookmark service. Allows creating shortcuts on the user's home page. * * **Note:** To retrieve a valid instance of this service, it is necessary to call {@link sap.ushell.Container#getServiceAsync}. * * ```javascript * * sap.ui.require(["sap/ushell/Container"], async function (Container) { * const BookmarkV2 = await Container.getServiceAsync("BookmarkV2"); * // do something with the BookmarkV2 service * }); * ``` * * * @since 1.119.0 */ export default class BookmarkV2 extends sap.ushell.services.Service { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Adds a bookmark tile to the provided content nodes. * See: * sap.ushell.services.URLParsing#getShellHash * * @since 1.119.0 * * @returns A promise which resolves on success */ addBookmark( /** * Bookmark parameters. In addition to title and URL, a bookmark might allow further settings, such as an * icon or a subtitle. Which settings are supported depends on the environment in which the application * is running. Unsupported parameters will be ignored. */ oParameters: BookmarkParameters, /** * Either a content node or an array of content nodes (see {@link #getContentNodes}). If not provided, the * bookmark will be added to the default page. */ vContainer?: ContentNode | ContentNode[], /** * **SAP internal usage only** The contentProviderId or undefined outside the cFLP. */ sContentProviderId?: string ): Promise; /** * Counts **all** bookmarks pointing to the given URL from all of the user's pages. You can use this method * to check if a bookmark already exists. This is a potentially asynchronous operation in case the user's * pages have not yet been loaded completely! * See: * #addBookmark * * @since 1.119.0 * * @returns A `Promise` which informs about success or failure of this asynchronous operation. In case of * success, the count of existing bookmarks is provided (which might be zero). In case of failure, an error * message is passed. */ countBookmarks( /** * The URL of the bookmarks to be counted, exactly as specified to {@link #addBookmark}. */ sUrl: /* was: sap.ushell.services.navigation.TargetIntent */ any | URI, /** * **SAP internal usage only** The contentProviderId or undefined outside the cFLP. The Content Provider * ID. */ sContentProviderId?: string ): Promise; /** * Deletes **all** bookmarks pointing to the given URL from all of the user's pages. * See: * #addBookmark * #countBookmarks * * @since 1.119.0 * * @returns A `Promise` which informs about success or failure of this asynchronous operation. In case of * success, the number of deleted bookmarks is provided (which might be zero). In case of failure, an error * message is passed. */ deleteBookmarks( /** * The URL of the bookmarks to be deleted, exactly as specified to {@link #addBookmark}. */ sUrl: /* was: sap.ushell.services.navigation.TargetIntent */ any | URI, /** * **SAP internal usage only** The contentProviderId or undefined outside the cFLP. */ sContentProviderId?: string ): Promise; /** * Returns available content nodes. * * @since 1.119.0 * * @returns Promise resolving the currently available content nodes. */ getContentNodes(): Promise; /** * Updates **all** bookmarks pointing to the given URL on all of the user's pages with the given new parameters. * Parameters which are omitted are not changed in the existing bookmarks. * See: * #addBookmark * #countBookmarks * #deleteBookmarks * * @since 1.119.0 * * @returns A `Promise` which informs about success or failure of this asynchronous operation. In case of * success, the number of updated bookmarks is provided (which might be zero). In case of failure, an error * message is passed. */ updateBookmarks( /** * The URL of the bookmarks to be updated, exactly as specified to {@link #addBookmark}. In case you need * to update the URL itself, pass the old one here and the new one as `oParameters.url`! */ sUrl: string, /** * Bookmark parameters. In addition to title and URL, a bookmark might allow additional settings, such as * an icon or a subtitle. Which settings are supported depends on the environment in which the application * is running. Unsupported parameters will be ignored. */ oParameters: BookmarkParameters, /** * **SAP internal usage only** The contentProviderId or undefined outside the cFLP. */ sContentProviderId?: string ): Promise; } /** * Type for data source object. Metadata for parameter serviceUrl. Mandatory to specify if parameter serviceURL * contains semantic date ranges. This does not influence the data source of the app itself. * * Specify the data source as follows: * ```javascript * * { * type: "OData", * settings: { * odataVersion: "4.0" * } * } * ``` * * * * type: The type of the serviceURL's service. Only "OData" is supported. odataVersion: The OData version * of parameter serviceURL. Valid values are "2.0" and "4.0". * * @since 1.121.0 */ export type BookmarkParameters = { /** * The type of the serviceURL's service. Only "OData" is supported. */ type: string; /** * The settings for the data source. */ settings: { x: any; }; /** * The title of the bookmark. */ title: string; /** * The URL of the bookmark. The target intent or URL of the bookmark. If the target app runs in the current * shell, the URL has to be a valid intent, i.e. in the format `"#SO-Action?P1=a&P2=x&/route?RPV=1"`. */ url: /* was: sap.ushell.services.navigation.TargetIntent */ any | URI; /** * The optional icon URL of the bookmark (e.g. `"sap-icon://home"`). */ icon?: string; /** * The optional information text of the bookmark. */ info?: string; /** * The optional subtitle of the bookmark. */ subtitle?: string; /** * The URL to a REST or OData service that provides some dynamic information for the bookmark. The URL to * a REST or OData service that provides some dynamic information for the bookmark. * * **Semantic Date Ranges:** * * You can use placeholders for dynamic dates in the query parameters of the service URL. This can be used * to create KPI tiles based on user entries in control {@link sap.m.DynamicDateRange}, where it is possible * to specify dynamic dates like YESTERDAY or THISYEAR. * * The placeholder format looks like this: {Edm.%%DynamicDate....%%} * * * - : The Edm Type of the parameter. Supported types are String, DateTime and DateTimeOffset * for OData V2 and Date and DateTimeOffset for OData V4. * - , , : Possible values are the ones that can be used in * {@link sap.m.DynamicDateRange#toDates} to create a date range. * - : Possible values are 'start' and 'end' which mark the start or end of the interval * specified by the operator. * * Examples: * - /a/url/$count?$filter=(testDate ge {Edm.DateTimeOffset%DynamicDate.YESTERDAY.start%} and testDate * le {Edm.DateTimeOffset%DynamicDate.YESTERDAY.end%}) * - /a/url/$count?$filter=(testDate ge {Edm.DateTime%DynamicDate.THISYEAR.start%} and testDate le {Edm.DateTime%DynamicDate.THISYEAR.end%}) * * - /a/url/$count?$filter=(testDate ge {Edm.Date%DynamicDate.TODAYFROMTO.1.5.start%} and testDate le * {Edm.Date%DynamicDate.TODAYFROMTO.1.5.end%}) * * Hint: Check the debug log when displaying the resulting KPI tiles to get more information about the resolution * of the placeholders. */ serviceUrl?: URI; /** * Metadata for parameter serviceUrl. Mandatory to specify if parameter serviceURL contains semantic date * ranges. */ dataSource?: /* was: sap.ushell.services.BookmarkV2.DataSource */ any; /** * The refresh interval for the `serviceUrl` in seconds. */ serviceRefreshInterval?: string; /** * The unit for the number retrieved from `serviceUrl`. */ numberUnit?: string; }; /** * A tree of content nodes. * * @since 1.121.0 */ export type ContentNode = { /** * ID of the content node */ id: string; /** * Human-readable representation of a content node which can be displayed in a control */ label: string; /** * Specifies the content node type. E.g: space, page, etc. */ type: ContentNodeType | keyof typeof ContentNodeType; /** * Specifies if a bookmark can be added */ isContainer: boolean; /** * Specifies sub-nodes */ children?: ContentNode[]; }; } declare module "sap/ushell/services/Configuration" { /** * The unified shell's Configuration service. Allows attaching to **selected** launchpad configuration settings * and their value changes. * * **Note:** To retrieve a valid instance of this service, it is necessary to call {@link sap.ushell.Container#getServiceAsync}. * * ```javascript * * sap.ui.require(["sap/ushell/Container"], async function (Container) { * const Configuration = await Container.getServiceAsync("Configuration"); * // do something with the Configuration service * }); * ``` * * * @since 1.64.0 */ export default class Configuration extends sap.ushell.services.Service { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Allows to attach to any value change of the sizeBehavior configuration for homepage parts (smaller tile * size) which is needed to implement custom tiles reacting on this setting. The returned value can directly * be used in {@link sap.m.GenericTile#sizeBehavior}. * * Once attached, `fnCallback` will be called once initially for the **current value** and afterwards every * time the value changed. * * Please ensure to detach from the registry by calling `.detach` on the returned object e.g. in the destroy * function of your component or controller! Make sure that you do not attach twice with the same function * as otherwise a detach cannot be performed later! * * Example usage: * ```javascript * * var oEventRegistry; * * // the callback that is called whenever the property changes * var fnCallback = function (sSizeBehavior) { * // do something with sSizeBehavior like setting it on a * // sap.m.GenericTile via model and data binding! * }; * * * // retrieve service via getServiceAsync API * sap.ushell.Container.getServiceAsync("Configuration").then( function (oService) { * // keep the returned event registry in order to detach upon destroy of your context * oEventRegistry = oService.attachSizeBehaviorUpdate(fnCallback); * }); * * // detach later when your context is destroyed (e.g. destroy of the controller) * oEventRegistry.detach(); * ``` * * * * @returns detach handler - call detach() to detach from further updates */ attachSizeBehaviorUpdate( /** * The function to be called once the property changes. It receives a parameter of type {@link sap.m.TileSizeBehavior}. */ fnCallback: Function ): { detach: Function; }; } } declare module "sap/ushell/services/ContentExtensionAdapterFactory" { /** * @since 1.62.0 * @deprecated As of version 1.120. Deprecated without successor together with the classic homepage. * @ui5-protected DO NOT USE IN APPLICATIONS (only for related classes in the framework) */ interface ContentExtensionAdapterFactory { /** * Constructs a new instance of the Content Extension Adapter Factory. An array of adapter configurations * needs to be passed to it (one specific adapter for each extended content). The configuration can be passed * explicitly as an array vConfig or coded in ContentExtensionAdapterConfig. * * Once instantiated, it generates a map of all the needed adapters and returns them (as a promise) with * the method #getAdapterMap. Once the Promises resolve, the adapters are available in the map. * * IMPORTANT: aConfig.contentProviderName is the string any content would use to indicate the LaunchPage * service which adapter needs to be used through a field "contentProvider" e.g. oGroup.contentProvider * * Currently, the configuration mocks the content through FeatureGroupConfig and uses the local adapter. * This should be changed once a dedicated adapter for the extended content exists. * * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns A promise that resolves to a map of content provider names to adapter instances Note that the * map might contain undefined entries if the adapters are disabled. */ getAdapters( /** * A configuration array for the different adapters of ContentExtensionAdapterFactory. */ vConfigs: Array<{ /** * The name of the adapter to find it in the service */ contentProviderName: string; /** * The path to the adapter */ adapter: string; /** * The path to the configuration flag for this adapter */ config: string; /** * A system object for creating the system when instantiating the adapter */ system: object; /** * A function that returns any needed configuration for the adapter */ configHandler: Function; }> ): Promise; } const ContentExtensionAdapterFactory: ContentExtensionAdapterFactory; /** * @deprecated As of version 1.120. Deprecated without successor together with the classic homepage. */ export default ContentExtensionAdapterFactory; } declare module "sap/ushell/services/CrossApplicationNavigation" { import Component from "sap/ui/core/Component"; /** * The Unified Shell's CrossApplicationNavigation service. Allows navigating to "external" targets outside * of the currently running app (but still in scope of the current Fiori launchpad) or to create links to * such external targets. * * **Note:** To retrieve a valid instance of this service, it is necessary to call {@link Container#getServiceAsync}. * * ```javascript * * sap.ui.require(["sap/ushell/Container"], async function (Container) { * const CrossApplicationNavigation = await Container.getServiceAsync("CrossApplicationNavigation"); * // do something with the CrossApplicationNavigation service * }); * ``` * * * The CrossApplicationNavigation service currently provides platform independent functionality. * * The service is meant to be used by applications, plugins and shell components. * * Usage: * ```javascript * * CrossApplicationNavigation.hrefForExternalAsync({ * target : { * semanticObject: "Product", * action: "display" * }, * params: { * "ProductID": "102343333" * } * }).then( function(sHref) { * // Place sHref somewhere in the DOM * }); * ``` * * * Parameter names and values are case sensitive. * * Note that the usage of multi-valued parameters (specifying an array with more than one member as parameter * value, e.g. `params : { A : ["a1", "a2"] }`) is possible with this API but **strongly discouraged**. * Depending on the used platform / back-end implementation the target matching might not supported multi-value * parameters. Furthermore, it is not guaranteed that additional parameter values specified in the back-end * configuration are merged with parameter values passed in this method. * * Note that the application parameter length (including SemanticObject/Action) shall not exceed 512 bytes * when serialized as UTF-8. * * Note that when receiving the values as startup parameters (as part of the component data object) single * values are represented as an array of size 1. Above example is returned as ` deepEqual(getComponentData().startupParameters * , { "ProductID" : [ "102343333" ] } ) ` * * Make sure not to store security critical data within an URL. URLs may appear in a server log, be persisted * inside and outside the system. * * Note: When constructing large URLs, the URLs may be shortened and persisted on a database server for * prolonged time, the actual data is persisted under a key accessible to any User (guessing the key). * * The same restrictions apply for the Application state. * * @since 1.15.0 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation} instead. */ export default class CrossApplicationNavigation extends sap.ushell.services .Service { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Attempts to use the browser history to navigate to the previous app. * * A navigation to the Fiori launchpad Home is performed when this method is called on a first navigation. * In all other cases, this function simply performs a browser back navigation. * * Note that the behavior of this method is subject to change and therefore it may not yield to the expected * results especially on mobile devices where "back" is the previous inner-app state if these are put into * the history! * * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#backToPreviousApp } * instead. * * @returns A promise which resolves once the back navigation was triggered */ backToPreviousApp(): Promise; /** * if sHashFragment is a compacted hash (sap-intent-param is present), in a hash, this function replaces * it into a long url with all parameters expanded * * @deprecated As of version 1.120. Deprecated without successor. * * @returns Resolves the expanded shell hash as first argument. */ expandCompactHash( /** * an (internal format) shell hash */ sHashFragment: string ): jQuery.Promise; /** * Returns a list of semantic objects of the intents the current user can navigate to. * * @since 1.38.0 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#getSemanticObjects } * instead. * * @returns Resolves with an array of strings representing the semantic objects of the intents the current * user can navigate to, or rejects with an error message. The returned array will not contain duplicates. * NOTE: the caller should not rely on the specific order the semantic objects appear in the returned * array. */ getDistinctSemanticObjects(): jQuery.Promise; /** * Resolves the given semantic object (and action) and business parameters to a list of links available * to the user. * * @since 1.38.0 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#getLinks} instead. * * @returns Resolves with an array of link objects containing (at least) the following properties: * ```javascript * * { * intent: "#AnObject-Action?A=B&C=e&C=j", * text: "Perform action", * icon: "sap-icon://Fiori2/F0018", // optional * subTitle: "Action", //optional * shortTitle: "Perform" // optional * tags: ["tag-1", "tag-2"] // optional * } * ``` * * * Properties marked as 'optional' in the example above may not be present in the returned result. * * **NOTE:** the intents returned are in **internal** format and cannot be directly put into a link * tag. Example: Let the string `"C&A != H&M"` be a parameter value. * * Intent will be encoded as#AnObject-action?text=C%26A%20!%3D%20H%26M. Note that the intent * is in **internal** format, before putting it into a link tag, you must invoke: * ```javascript * * externalHash = oCrossApplicationNavigationService.hrefForExternal({ target : { shellHash : oLink.intent } }, that.oComponent); * ``` * NOTE: in case the mass invocation interface is used (see `vArgs` parameter explanation above), * the promise will resolve to an array of arrays of arrays. For example, if the mass interface specified * two arguments, the promise would resolve as follows: * ```javascript * * [ // mass interface was used, so return multiple values * [ // values returned from the first call (functions may return multiple values) * // value returned from first getLinks call (as returned by single getLinks call) * [ * {intent: "#SO-something1", text: "Perform navigation"}, * {intent: "#SO-something2", text: "Perform action"} ], * ] * ], * [ * // value returned from second getLinks call (as returned by single getLinks call) * [ * {intent: "#Object-someAction", text: "Some action1"} * ] * ] * // ... and so on * ] * ``` */ getLinks( /** * An object containing nominal arguments for the method, having the following structure: * * * ```javascript * * { * semanticObject: "Object", // optional, matches any semantic objects if undefined * action: "action", // optional, matches any actions if undefined * params: { // optional business parameters * A: "B", * C: ["e", "j"] * }, * withAtLeastOneUsedParam: true, // optional, defaults to false. * // If true, returns only the links that use at least one (non sap-) parameter from 'params'. * * sortResultsBy: "intent", // optional parameter that decides on how the returned results will be sorted. * // Possible values are: * // - "intent" (default) lexicographical sort on returned 'intent' field * // - "text" lexicographical sort on returned 'text' field * // - "priority" top intents are returned first * * treatTechHintAsFilter : true, // optional, defaults to false. * // if true, only apps that match exactly the supplied technology (e.g. sap-ui-tech-hint=WDA) will be considered. * * ui5Component: UI5Component, // mandatory, the UI5 component invoking the service, shall be a root component! * * appStateKey: "abc123...", // optional, application state key to add to the generated links, SAP internal usage only. * * compactIntents: true // optional, whether intents should be returned in compact format. Defaults to false. * * ignoreFormFactor: true, // optional, defaults to false, deprecated, do not use, may have no effect in the future. * * tags: ["tag-1", "tag-2"] // optional, if specified, only returns links that match inbound with certain tags. * } * ``` * * * Starting from UI5 version 1.52.0 the `params` argument can be specified in the extended format: * * * ```javascript * * ... * params: { * P1: { value: "v1" }, * P2: { value: ["v2", "v3"] } * } * ``` * * * When the parameter is expressed in this format, the caller can specify additional search options. * * Besides 'value', supported search options for the extended format are: * **required**: whether the parameter must be required (true) or not required (false) in the signature * of the matching target (once the navigation occurs to the returned link). Note that this option will * be effective if the Fiori Launchpad is configured to resolve navigation targets via `sap.ushell.services.ClientSideTargetResolution` * and therefore may not be supported in all platforms. * * Example: * ```javascript * * ... * params: { * P1: { value: "v1", required: true }, * P2: { value: ["v2", "v3"] } * } * ... * ``` * * * This method supports a mass invocation interface to obtain multiple results with a single call, as * shown in the following example: * * * ```javascript * * oCrossApplicationService.getLinks([ // array, because multiple invocations are to be made * [ // arguments for the first invocation * { semanticObject: "SO" } // this method supports one parameter only in each call * ], * [ // arguments for the second invocation * { action: "someAction" } * ] * // ... and so on * ]).done(…); * ``` * * * Calling this method with no arguments will produce the same result as if the method was called with * an empty object. */ vArgs?: | { /** * Optional, matches any semantic objects if undefined */ semanticObject?: string; /** * Optional, matches any actions if undefined */ action?: string; /** * Optional business parameters */ params?: object; /** * Optional, defaults to false. If true, returns only the links that use at least one (non sap-) parameter * from 'params'. */ withAtLeastOneUsedParam?: boolean; /** * Optional parameter that decides on how the returned results will be sorted. */ sortResultsBy?: string; /** * Optional, defaults to false. If true, only apps that match exactly the supplied technology (e.g. sap-ui-tech-hint=WDA) * will be considered. */ treatTechHintAsFilter?: boolean; /** * Mandatory, the UI5 component invoking the service, shall be a root component. */ ui5Component: Component; /** * Optional, application state key to add to the generated links, SAP internal usage only. */ appStateKey?: string; /** * Optional, whether intents should be returned in compact format. Defaults to false. */ compactIntents?: boolean; /** * Optional, if specified, only returns links that match inbound with certain tags. */ tags?: string[]; } | Array<{ /** * Optional, matches any semantic objects if undefined */ semanticObject?: string; /** * Optional, matches any actions if undefined */ action?: string; /** * Optional business parameters */ params?: object; /** * Optional, defaults to false. If true, returns only the links that use at least one (non sap-) parameter * from 'params'. */ withAtLeastOneUsedParam?: boolean; /** * Optional parameter that decides on how the returned results will be sorted. */ sortResultsBy?: string; /** * Optional, defaults to false. If true, only apps that match exactly the supplied technology (e.g. sap-ui-tech-hint=WDA) * will be considered. */ treatTechHintAsFilter?: boolean; /** * Mandatory, the UI5 component invoking the service, shall be a root component. */ ui5Component: Component; /** * Optional, application state key to add to the generated links, SAP internal usage only. */ appStateKey?: string; /** * Optional, whether intents should be returned in compact format. Defaults to false. */ compactIntents?: boolean; /** * Optional, if specified, only returns links that match inbound with certain tags. */ tags?: string[]; }> ): jQuery.Promise; /** * For a given semantic object, this method considers all actions associated with the semantic object and * returns the one tagged as a "primaryAction". If no inbound tagged as "primaryAction" exists, then the * intent of the first inbound (after sorting has been applied) matching the action "displayFactSheet". * * The primary intent is determined by querying {@link sap.ushell.services.CrossApplicationNavigation#getLinks } * with the given semantic object and optional parameter. Then the resulting list is filtered to the outcome * that a single item remains. * * @since 1.48 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#getPrimaryIntent} instead. * * @returns Resolves to an object of the following form when a relevant link object exists: * ```javascript * * { * intent: "#AnObject-Action?A=B&C=e&C=j", * text: "Perform action", * icon: "sap-icon://Fiori2/F0018", // optional * shortTitle: "Perform" // optional * tags: ["tag-1", "tag-2"] // optional * } * ``` * Otherwise, the returned promise will resolve to null when no relevant link object exists. */ getPrimaryIntent( /** * Semantic object. */ sSemanticObject: string, /** * @see sap.ushell.services.CrossApplicationNavigation#getSemanticObjectLinks for description. */ mParameters?: object ): jQuery.Promise; /** * Resolves a given semantic object and business parameters to a list of links, taking into account the * form factor of the current device. * * @since 1.19.0 * @deprecated As of version 1.38. Please use {@link #getLinks} instead. * * @returns Resolves with an array of link objects containing (at least) the following properties: * ```javascript * * { * intent: "#AnObject-action?A=B&C=e", * text: "Perform action", * icon: "sap-icon://Fiori2/F0018", //optional * subTitle: "Action", //optional * shortTitle: "Perform" //optional * } * ``` * * * **NOTE:** the intents returned are in **internal** format and cannot be directly put into a link tag. * Example: Let the string `"C&A != H&M"` be a parameter value. Intent will be encoded as#AnObject-action?text=C%26A%20!%3D%20H%26M. * Note that the intent is in **internal** format, before putting it into a link tag, you must invoke: * ```javascript * * externalHash = oCrossApplicationNavigationService.hrefForExternal({ target : { shellHash : oLink.intent } }, that.oComponent); * ``` */ getSemanticObjectLinks( /** * the semantic object such as `"AnObject"` */ sSemanticObject: string, /** * the map of business parameters with values, for instance * ```javascript * * { * A: "B", * c: "e" * } * ``` */ mParameters?: object, /** * when set to `true` the form factor of the current device is ignored */ bIgnoreFormFactor?: boolean, /** * SAP UI5 Component invoking the service */ oComponent?: object, /** * application state key to add to the generated links, SAP internal usage only */ sAppStateKey?: string, /** * whether the returned intents should be returned in compact format. Defaults to false. */ bCompactIntents?: boolean ): jQuery.Promise; /** * Navigates back in history the number of given steps if this is supported by the underlying platform. * If no argument is provided it will navigate back 1 step. * * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#historyBack} instead. */ historyBack( /** * positive integer representing the steps to go back in the history */ iSteps: int ): void; /** * Returns a string which can be put into the DOM (e.g. in a link tag) given an application specific hash * suffix * * Example: `hrefForAppSpecificHash("View1/details/0/")` returns `#SemanticObject-action&/View1/details/0/` * if the current application runs in the shell and was started using "SemanticObject-action" as shell navigation * hash * * @since 1.15.0 * @deprecated As of version 1.94. Please use {@link #hrefForAppSpecificHashAsync} instead. * * @returns A string which can be put into the link tag, containing the current shell navigation target * and the specified application specific hash suffix */ hrefForAppSpecificHash( /** * the app specific router, obtained e.g. via router.getURL(...). Note that sAppHash shall not exceed 512 * bytes when serialized as UTF-8. */ sAppHash: string ): string; /** * Returns a Promise which resolves a string that can be put into the DOM (e.g. in a link tag) given an * application specific hash suffix * * Example: `hrefForAppSpecificHashAsync("View1/details/0/")` returns a Promise that resolves: `#SemanticObject-action&/View1/details/0/` * if the current application runs in the shell and was started using "SemanticObject-action" as shell navigation * hash * * @since 1.94.0 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#getHref} instead. * * @returns A promise which resolves a string which can be put into the link tag, containing the current * shell navigation target and the specified application specific hash suffix */ hrefForAppSpecificHashAsync( /** * the app specific router, obtained e.g. via router.getURL(...). Note that sAppHash shall not exceed 512 * bytes when serialized as UTF-8. */ sAppHash: string ): Promise; /** * Returns a string which can be put into the DOM (e.g. in a link tag). **Note:** The generated url / url * segment must not be used as `shellHash` in the target definition of {@link sap.ushell.services.CrossApplicationNavigation#toExternal} * * @since 1.15.0 * @deprecated As of version 1.98. Please use {@link sap.ushell.services.Navigation#getHref} instead. * * @returns the href for the specified parameters as an external shell hash; always starting with a hash * character; all parameters and parameter names are URL-encoded (via encodeURIComponent) and the complete * string is encoded via encodeURI (!). The generated string can not be used in the majority of interfaces * which expect a internal shell hash. * * A proper way for an application to generate a link to return to the home page of the Fiori launchpad * is: `hrefForExternal( { target : { shellHash : "#" }})` * * Do not use "#Shell-home" to navigate to a specific homepage! * * Note: if object is undefined, the current shell hash is returned. * * Note that the application parameter length (including SemanticObject/Action) shall not exceed 512 bytes * when serialized as UTF-8. * * The function can be used to convert an shell hash internal format commonly encountered into the URL format * to use in link tags: * ```javascript * * externalHash = oCrossApplicationNavigationService.hrefForExternal({ * target: { shellHash: oLink.intent } * }, that.oComponent); * ``` * * * Since version 1.56 this API accepts a sap-xapp-state-data parameter that can be used generate a url that * can be used to launch and application with certain data, for example: * ```javascript * * { * target : { semanticObject : "AnObject", action: "action" }, * params : { "sap-xapp-state-data" : JSON.stringify({ a: "b", c: "d" }) } * } * ``` * * * Using the arguments as in the example above, a link with a sap-xapp-state parameter that encodes the * provided data is returned. The sap-xapp-state-data parameter does not appear in the generated link. */ hrefForExternal( /** * object encoding a semantic object and action, e.g. * ```javascript * * { * target : { semanticObject : "AnObject", action: "action" }, * params : { A : "B" } * } * ``` * or e.g. * ```javascript * * { * target : { * semanticObject : "AnObject", * action: "action", context : "AB7F3C" * }, * params : { * A : "B", * c : "e" * } * } * ``` * or * ```javascript * { target : { shellHash : "SO-36?jumper=postman" } }``` */ oArgs: object, /** * the root component of the application */ oComponent: object, /** * if set to `true`, a promise will be returned instead of the direct argument. The promise will only succeed * after all compaction requests have been sent. `bAsync=false` is deprecated since 1.94. */ bAsync: boolean ): string | Promise; /** * Returns a string which can be put into the DOM (e.g. in a link tag). **Note:** The generated url / url * segment must not be used as `shellHash` in the target definition of {@link sap.ushell.services.CrossApplicationNavigation#toExternal} * * @since 1.15.0 * @deprecated As of version 1.98. Please use {@link sap.ushell.services.Navigation#getHref} instead. * * @returns the href for the specified parameters as an external shell hash; always starting with a hash * character; all parameters and parameter names are URL-encoded (via encodeURIComponent) and the complete * string is encoded via encodeURI (!). The generated string can not be used in the majority of interfaces * which expect a internal shell hash. * * A proper way for an application to generate a link to return to the home page of the Fiori launchpad * is: `hrefForExternal( { target : { shellHash : "#" }})` * * Do not use "#Shell-home" to navigate to a specific homepage! * * Note: if object is undefined, the current shell hash is returned. * * Note that the application parameter length (including SemanticObject/Action) shall not exceed 512 bytes * when serialized as UTF-8. * * The function can be used to convert an shell hash internal format commonly encountered into the URL format * to use in link tags: * ```javascript * * externalHash = oCrossApplicationNavigationService.hrefForExternal({ * target: { shellHash: oLink.intent } * }, that.oComponent); * ``` * * * Since version 1.56 this API accepts a sap-xapp-state-data parameter that can be used generate a url that * can be used to launch and application with certain data, for example: * ```javascript * * { * target : { semanticObject : "AnObject", action: "action" }, * params : { "sap-xapp-state-data" : JSON.stringify({ a: "b", c: "d" }) } * } * ``` * * * Using the arguments as in the example above, a link with a sap-xapp-state parameter that encodes the * provided data is returned. The sap-xapp-state-data parameter does not appear in the generated link. */ hrefForExternal( /** * object encoding a semantic object and action, e.g. * ```javascript * * { * target : { semanticObject : "AnObject", action: "action" }, * params : { A : "B" } * } * ``` * or e.g. * ```javascript * * { * target : { * semanticObject : "AnObject", * action: "action", context : "AB7F3C" * }, * params : { * A : "B", * c : "e" * } * } * ``` * or * ```javascript * { target : { shellHash : "SO-36?jumper=postman" } }``` */ oArgs: object, /** * if set to `true`, a promise will be returned instead of the direct argument. The promise will only succeed * after all compaction requests have been sent. `bAsync=false` is deprecated since 1.94. */ bAsync: boolean ): string | Promise; /** * Returns a promise resolving to a URL that launches an app with certain parameters. The URL can be used * to define a link to a Fiori application, for example. * * @since 1.94.0 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#getHref} instead. * * @returns A Promise which resolves href for the specified parameters as an *external* shell hash; always * starting with a hash character; all parameters and parameter names are URL-encoded (via encodeURIComponent) * and the complete string is encoded via encodeURI (!). The generated string can not be used in the majority * of interfaces which expect a internal shell hash. * * A proper way for an application to generate a link to return to the home page of the Fiori launchpad * is: `hrefForExternalAsync( { target : { shellHash : "#" }})` * * Do *not* use "#Shell-home" to navigate to a specific homepage! * * Note: if object is undefined, the current shell hash is returned. * * Note that the application parameter length (including SemanticObject/Action) shall not exceed 512 bytes * when serialized as UTF-8. * * The function can be used to convert an shell hash internal format commonly encountered into the URL format * to use in link tags: * ```javascript * * CrossApplicationNavigation.hrefForExternalAsync({ * target: { shellHash: oLink.intent } * }, that.oComponent).then( function (sExternalHref) { * // do something with the resolved sExternalHref. * }); * ``` * * * This API accepts a sap-xapp-state-data parameter that can be used generate a url that can be used to * launch and application with certain data, for example: * * * ```javascript * * { * target : { semanticObject : "AnObject", action: "action" }, * params : { "sap-xapp-state-data" : JSON.stringify({ a: "b", c: "d" }) } * } * ``` * * * Using the arguments as in the example above, a link with a sap-xapp-state parameter that encodes the * provided data is returned. The sap-xapp-state-data parameter does not appear in the generated link. */ hrefForExternalAsync( /** * object encoding a semantic object and action, e.g. * ```javascript * * { * target : { semanticObject : "AnObject", action: "action" }, * params : { A : "B" } * } * ``` * or e.g. * ```javascript * * { * target : { * semanticObject : "AnObject", * action: "action", context : "AB7F3C" * }, * params : { * A : "B", * c : "e" * } * } * ``` * or * ```javascript * * { * target : { * shellHash : "SO-36?jumper=postman" * } * } * ``` */ oArgs: object, /** * the root component of the application */ oComponent?: object ): Promise; /** * Checks wether the FLP currently shows the initially loaded navigation target (i.e. the intent it was * started with). This method can be used to e.g. detect whether the current app was started directly, that * is, without a navigation from another app or FLP home. * * @since 1.36.0 * @deprecated As of version 1.94. Please use {@link #isInitialNavigationAsync} instead. * * @returns Whether the initial navigation occurred. */ isInitialNavigation(): boolean; /** * Checks whether the FLP has performed the first navigation. This method can be used to detect whether * the current app was started directly, that is, without a previous navigation to another app, to the FLP * home, or another target that adds an entry in the browser history. * * @since 1.94.0 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#isInitialNavigation } * instead. * * @returns This promise resolves with a boolean indicating if the current navigation is considered initial */ isInitialNavigationAsync(): Promise; /** * Tells whether the given intent(s) are supported, taking into account the form factor of the current device. * "Supported" means that navigation to the intent is possible. Note that the intents are assumed to be * in internal format and expanded. * * @since 1.19.1 * @deprecated As of version 1.31. Please use {@link #isNavigationSupported} instead. Note that this has * a slightly different response format. * * @returns Resolves with a map containing the intents from `aIntents` as keys. The map values are objects * with a property `supported` of type `boolean`. * Example: * ```javascript * * { * "#AnObject-action?A=B&c=e": { supported: false }, * "#AnotherObject-action2": { supported: true } * } * ``` * * * Example usage: * ```javascript * * this.oCrossAppNav.isIntentSupported(["SalesOrder-approve?SOId=1234"]) * .done(function(aResponses) { * if (oResponse["SalesOrder-approve?SOId=1234"].supported===true){ * // enable link * } * else { * // disable link * } * }) * .fail(function() { * // disable link * // request failed or other error * }); * ``` */ isIntentSupported( /** * the intents (such as `["#AnObject-action?A=B&c=e"]`) to be checked */ aIntents: string[], /** * the root component of the application */ oComponent?: object ): jQuery.Promise; /** * Tells whether the given navigation intents are supported for the given parameters, form factor etc. . * "Supported" means that a valid navigation target is configured for the user and for the given device. * * `isNavigationSupported` is effectively a test function for {@link sap.ushell.services.CrossApplicationNavigation#toExternal } * and {@link sap.ushell.services.CrossApplicationNavigation#hrefForExternal}. * * It is functionally equivalent to {@link sap.ushell.services.CrossApplicationNavigation#isIntentSupported } * but accepts the same interface as {@link sap.ushell.services.CrossApplicationNavigation#toExternal} and * {@link sap.ushell.services.CrossApplicationNavigation#hrefForExternal}. * * @since 1.32 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#isNavigationSupported } * instead. * * @returns Resolves to an array of objects indicating whether the intent is supported or not. Each object * has a property `supported` of type `boolean`. * * Example: * * `aIntents`: * ```javascript * * [ * { * target : { * semanticObject : "AnObject", * action: "action" * }, * params : { P1 : "B", P2 : [ "V2a", "V2b"] } * }, * { * target : { * semanticObject : "SalesOrder", * action: "display" * }, * params : { P3 : "B", SalesOrderIds : [ "4711", "472"] } * } * ] * ``` * * * `response`: * ```javascript * * [ * { supported: false }, * { supported: true } * ] * ``` * * * Example usage: * ```javascript * * this.oCrossAppNav.isNavigationSupported([ * target: { shellHash: "SalesOrder-approve?SOId=1234" } * ]) * .done(function(aResponses) { * if (aResponses[0].supported===true){ * // enable link * } * else { * // disable link * } * }) * .fail(function() { * // disable link * // request failed or other fatal error * }); * ``` */ isNavigationSupported( /** * The intents to be checked, with `object[]` being instances of the `oArgs` argument of the `toExternal` * or `hrefForExternal` methods, e.g. * ```javascript * * { * target: { * semanticObject: "AnObject", * action: "action" * }, * params: { A: "B" } * } * ``` * or e.g. * ```javascript * * { * target: { * semanticObject: "AnObject", * action: "action" * }, * params: { * A: "B", * c: "e" * } * } * ``` * or * ```javascript * * { * target: { * shellHash: "SalesOrder-approve?SOId=1234" * } * } * ``` */ aIntents: object[], /** * The root component of the application */ oComponent?: object ): jQuery.Promise; /** * Resolves the URL hash fragment. * * This function gets the hash part of the URL and returns the URL of the target application. * * This is an asynchronous operation. * * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns Resolves the intent. */ resolveIntent( /** * The formatted URL hash fragment in internal format (as obtained by the SAPUI5 hasher service) not as * given in `location.hash`)! Example: `#SemanticObject-action?P1=V1&P2=A%20B%20C` */ sHashFragment: string ): jQuery.Promise; /** * Triggers a navigation to a specified target outside of the currently running application (e.g. different * launchpad application). Invocation will trigger a hash change and subsequent invocation of the target. * * If the navigation target opens in a new window the running application may be retained. * * @since 1.15.0 * @deprecated As of version 1.120. Please use {@link sap.ushell.services.Navigation#navigate} instead. * * @returns A `Promise` which resolves once the navigation was triggered. The `Promise` might never reject * or resolve when an error occurs during the navigation. */ toExternal( /** * A configuration object describing the navigation target. The navigation target can be provided as its * separate aspects like semantic object, action, parameters etc. in separate members of the configuration * object. * * **Note:** Parameter values can contain special characters and must be provided unencoded; the function * takes care for necessary encodings itself. * * Simple Example: * ```javascript * * { * target: { * semanticObject: "Customer", * action: "display" * }, * params: { * customerId: "0815-4711" * } * } * ``` * * * Example with text: * ```javascript * * { * target: { * semanticObject: "Note", * action: "create" * }, * params: { * noteText: "Thanks for reading the documentation!" * } * } * ``` * * * Example with a given context: * ```javascript * * { * target: { * semanticObject: "AnObject", * action: "action", * context: "AB7F3C" * }, * params: { * param1: "Value One" * } * } * ``` * * * Alternatively a `shellHash` can be provided that includes already all aspects of the navigation target: * semantic object, action, intent parameters, app-specific route (including app parameters) * * **Note:** While parameters need to be url-encoded once when used in the `shellHash` the app specific * route must not be encoded. * * Example with shellHash as target: * ```javascript * * { * target: { * shellHash: "Note-update?noteText=You%20got%20quite%20far&/Notes/My First Note" * } * } * ``` * * * To navigate to the homepage of the Fiori launchpad, navigate to `{target: {shellHash: "#"}}`. Do not * use "#Shell-home" or "Shell-home" to navigate to! * * To provide a complex parameter structure to a target app the pseudo parameter `sap-xapp-state-data` can * be used. * * Example: * ```javascript * * { * ... * params : { * "sap-xapp-state-data": JSON.stringify({ a: "b", c: "d" }) * } * } * ``` * * * The data specified via `sap-xapp-state-data` is passed to the target application in the `sap-xapp-state` * parameter. The `sap-xapp-state-data` parameter itself is not passed to the target application. * * **Note:** The parameter length (including semantic object and action) shall not exceed 512 bytes when * serialized as UTF-8. */ oArgs: object, /** * an optional UI5 component, used to logically attach a possibly generated app state. */ oComponent?: object ): Promise; } } declare module "sap/ushell/services/EndUserFeedback" { /** * The Unified Shell's end user feedback service. This service is deprecated and does nothing. End user * feedback functionality is not part of the ushell library. * * **Note:** To retrieve a valid instance of this service, it is necessary to call {@link sap.ushell.Container#getServiceAsync}. * * ```javascript * * sap.ui.require(["sap/ushell/Container"], async function (Container) { * const EndUserFeedback = await Container.getServiceAsync("EndUserFeedback"); * // do something with the EndUserFeedback service * }); * ``` * * * @since 1.25.1 * @deprecated As of version 1.93. Deprecated without successor. */ export default class EndUserFeedback extends sap.ushell.services.Service { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * @since 1.25.1 * @deprecated As of version 1.93. Deprecated without successor. * * @returns Empty string */ getLegalText(): string; /** * The service is deprecated. The function always returns a negative answer. * * @since 1.25.1 * @deprecated As of version 1.93. Deprecated without successor. * * @returns Rejected promise. */ isEnabled(): Promise; /** * Sends a feedback. * * @since 1.25.1 * @deprecated As of version 1.93. Deprecated without successor. * * @returns Empty promise */ sendFeedback(): Promise; } } declare module "sap/ushell/services/Extension" { import { Properties } from "sap/ushell/ui/shell/ShellHeadItem"; import Item from "sap/ushell/services/Extension/Item"; /** * The Unified Shell's Extension service. Allows adding extensions on the user's home page. * * **Note:** To retrieve a valid instance of this service, it is necessary to call {@link sap.ushell.Container#getServiceAsync}. * * ```javascript * * sap.ui.require(["sap/ushell/Container"], async function (Container) { * const Extension = await Container.getServiceAsync("Extension"); * // do something with the Extension service * }); * ``` * * * This service is available in any FLP context (native, iframe, ...). * * * All extension items and extension areas are instantiated as invisible. You have to call .show<...> to * make them visible. * * @since 1.120.0 */ export default class Extension extends sap.ushell.services.Service { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Creates a header item in the shell header. **Restrictions:** * - The control properties are only allowed to contain primitive properties and event handlers. Bindings, * aggregations, controls and objects with prototypes are not allowed! * - The created controls cannot have stable ids! Instead you can provide a help id. * - The event handlers are not bound to the actual control and do not receive the event arguments. * * @since 1.120.0 * * @returns The newly created header item. */ createHeaderItem( /** * The properties that will be passed to the created control. */ controlProperties: Properties, /** * Additional parameters. */ parameters?: { /** * Possible values are `begin` and `end`. */ position?: string; /** * The help id of the user action. This allows to assign help content to the user action. */ helpId?: string; } ): Promise; /** * Creates a user action in the user action menu. * The `controlType` can be any control and is by default a {@link sap.ushell.ui.launchpad.ActionItem}. * The `controlProperties` are passed to the constructor of the control. * **Restrictions:** * - The control properties are only allowed to contain primitive properties and event handlers. Bindings, * aggregations, controls and objects with prototypes are not allowed! * - The created controls cannot have stable ids! Instead you can provide a help id. * - The event handlers are not bound to the actual control and do not receive the event arguments. * * @since 1.120.0 * * @returns The newly created user action. */ createUserAction( /** * The properties that will be passed to the created control. */ controlProperties: object, /** * Additional parameters. */ parameters?: { /** * Defines the `controlType` of the item. */ controlType?: string; /** * The help id of the user action. This allows to assign help content to the user action. */ helpId?: string; } ): Promise; } } declare module "sap/ushell/services/Extension/Item" { /** * Item wrapping an item positioned in an extension point. To be instantiated by {@link sap.ushell.services.Extension}. * * The item will be automatically destroyed when the user navigates away from the current application. * After calling {@link sap.ushell.services.Extension.Item#showOnHome} or {@link sap.ushell.services.Extension.Item#showForAllApps } * the item is not destroyed automatically and has to be destroyed manually via {@link sap.ushell.services.Extension.Item#destroy}. * * @since 1.120.0 */ export default class Item { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Destroys the item and it's related content. * * @since 1.120.0 * * @returns Resolves once the item was destroyed. */ destroy(): Promise; /** * Hides the item for all applications. Does not change the visibility of the item for the launchpad "home". * * @since 1.120.0 * * @returns Reference to `this` for method chaining. */ hideForAllApps(): this; /** * Hides the item for the current application. * * @since 1.120.0 * * @returns Reference to `this` for method chaining. */ hideForCurrentApp(): this; /** * Hides the item for launchpad "home". Does not change the visibility of the item within applications. * * @since 1.120.0 * * @returns Reference to `this` for method chaining. */ hideOnHome(): this; /** * Shows the item for all applications. Does not change the visibility of the item for the launchpad "home". * * @since 1.120.0 * * @returns Reference to `this` for method chaining. */ showForAllApps(): this; /** * Shows the item for the current application. The item will be hidden after the user navigates away from * this application. The item will not be added again if the user navigates back to the application. * Exception: Apps which are using the keep alive feature. There the visibility is restored together with * the app. * * @since 1.120.0 * * @returns Reference to `this` for method chaining. */ showForCurrentApp(): this; /** * Shows the item for launchpad "home". Does not change the visibility of the item within applications. * * @since 1.120.0 * * @returns Reference to `this` for method chaining. */ showOnHome(): this; } } declare module "sap/ushell/services/FrameBoundExtension" { import Control from "sap/ui/core/Control"; import UserSettingsEntry from "sap/ushell/services/FrameBoundExtension/UserSettingsEntry"; import Footer from "sap/ushell/services/FrameBoundExtension/Footer"; import { Properties } from "sap/ushell/ui/shell/ShellHeadItem"; import Item from "sap/ushell/services/FrameBoundExtension/Item"; import SidePane from "sap/ushell/services/FrameBoundExtension/SidePane"; import ToolArea from "sap/ushell/services/FrameBoundExtension/ToolArea"; /** * The Unified Shell's Extension service. Allows adding extensions on the user's home page. * * **Note:** To retrieve a valid instance of this service, it is necessary to call `sap.ushell.Container.getServiceAsync("FrameBoundExtension")`. * For details, see {@link sap.ushell.Container#getServiceAsync}. * * **Restriction:** This Service does not work when called from within a iframe. The calling function * has to be in the 'same frame' as the launchpad itself. * * * All extension items and extension areas are instantiated as invisible. You have to call .show<...> to * make them visible. * * @since 1.124.0 */ export default class FrameBoundExtension extends sap.ushell.services.Service { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Adds an entry to the user settings dialog box including the UI control that appears when the user clicks * the new entry, and handling of user settings actions such as SAVE and CANCEL. **Restriction:** NOT * available for apps running in an iframe * * @since 1.124.0 * * @returns Resolves with the new entry once the settings entry was added. */ addUserSettingsEntry( /** * The data of the new added user settings entry. */ properties: { /** * The ID of the object. */ entryHelpID?: string; /** * The title of the entry to be presented in the list in the user settings dialog box. We recommend using * a string from the translation bundle. */ title: string; /** * A string to be presented as the subtitle of the entry OR a function which resolves the sub title. */ value: string | (() => Promise); /** * A function that resolves the content which has to be a {@link sap.ui.core.Control}. A SAPUI5 view instance * can also be returned. The result will be displayed in the settings as content for this entry. */ content: () => Promise; /** * A callback which is called when the user clicks "save" in the user settings dialog. The function has * to return a native promise. If an error occurs, pass the error message via rejected promise. Errors are * displayed in the common log. */ onSave: () => Promise; /** * A callback which is called when the user closes the user settings dialog without saving any changes. */ onCancel: Function; /** * Set this value to `true` if you want that your content is displayed without the standard header. */ provideEmptyWrapper?: boolean; } ): Promise; /** * Creates a new footer which is positioned below the launchpad content. * * The `controlType` can be any control and is by default a {@link sap.m.Bar}. The `controlProperties` are * passed to the constructor of the control. * * **Note:** Only one footer is displayed at once. Any new footer will replace the previous one **Note:** * As several application views can provide own footer's, usage can result in a non aria complained HTML * structure. Two 'footer' tags will be present in the HTML structure which ends in an invalid accessibility * state. **Restriction:** NOT available for apps running in an iframe * * @since 1.124.0 * * @returns The newly created footer. */ createFooter( /** * The properties that will be passed to the created control. */ controlProperties: object, /** * Additional parameters. */ parameters?: { /** * Defines the `controlType`. */ controlType?: string; } ): Promise