// For Library Version: 1.149.0 declare namespace sap { namespace ui { namespace generic { /** * SAPUI5 library that provides generic reuse functionality which can be used by Applications. */ namespace app { /** * @deprecated As of version 1.83.0. */ namespace navigation { /** * @deprecated As of version 1.83.0. */ namespace service { /** * An object that provides error handling information during runtime. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavError} instead. */ class NavError extends sap.fe.navigation.NavError { /** * 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. * * This class does not have its own settings, but all settings applicable to the base type {@link sap.fe.navigation.NavError#constructor sap.fe.navigation.NavError } * can be used. */ constructor( /** * The code for an internal error of a consumer that allows you to track the source locations */ sErrorCode: string ); /** * Creates a new subclass of class sap.ui.generic.app.navigation.service.NavError 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.fe.navigation.NavError.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< T, sap.ui.generic.app.navigation.service.NavError >, /** * 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.ui.generic.app.navigation.service.NavError. * * * @returns Metadata object describing this class */ static getMetadata(): sap.ui.base.Metadata; /** * Returns the error code with which the instance has been created. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavError#getErrorCode} instead. * * @returns The error code of the error */ getErrorCode(): string; } /** * Creates a new NavigationHandler class by providing the required environment. * The `NavigationHandler` supports the verification of sensitive information. All properties that are * part of `selectionVariant` and `valueTexts` will be verified if they are annotated as `com.sap.vocabularies.PersonalData.v1.IsPotentiallySensitive` * or `com.sap.vocabularies.UI.v1.ExcludeFromNavigationContext` and will be removed before the data is persisted * as the app state. * Also, all properties annotated as `com.sap.vocabularies.Analytics.v1.Measure` will be removed from the * data stored as the xapp state. * To verify the information to be removed, the `NavigationHandler` requires an unnamed model of type {@link sap.ui.model.odata.v2.ODataModel } * on component level. It is possible to set such a model using the `setModel` method. * **Note:** The check for excluded data requires that the OData metadata has already been loaded completely. * If the OData metadata model has not been loaded completely, all properties are removed from the application * context. * **Note:** This class requires that the UShell {@link sap.ushell.services.CrossApplicationNavigation } * is available and initialized. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler} instead. */ class NavigationHandler extends sap.fe.navigation .NavigationHandler { constructor( /** * UI5 controller that contains a router and a component; typically the main controller of your application, * for example, a subclass of the sap.ca.scfld.md.controller.BaseFullscreenController if scaffolding is * used */ oController: object, /** * Mode to be used to handle conflicts when merging URL parameters and the SelectionVariant class, see {@link sap.ui.generic.app.navigation.service.ParamHandlingMode} */ sParamHandlingMode?: string ); /** * Creates a new subclass of class sap.ui.generic.app.navigation.service.NavigationHandler 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.fe.navigation.NavigationHandler.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< T, sap.ui.generic.app.navigation.service.NavigationHandler >, /** * 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.ui.generic.app.navigation.service.NavigationHandler. * * * @returns Metadata object describing this class */ static getMetadata(): sap.ui.base.Metadata; /** * The method creates a context url based on provided data. This context url can either be used as {@link sap.ui.generic.app.navigation.service.NavigationHandler#setParameterContextUrl ParameterContextUrl } * or {@link sap.ui.generic.app.navigation.service.NavigationHandler#setFilterContextUrl FilterContextUrl} * * @since 1.60.2 * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#constructContextUrl } * instead. * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns context url for the given entities */ constructContextUrl( /** * used for url determination */ sEntitySetName: string, /** * used for url determination. If omitted, the NavigationHandler model is used. */ oModel?: sap.ui.model.odata.v2.ODataModel ): string; /** * Gets the application specific technical parameters. Technical parameters will not be added to the selection * variant passed to the application. As a default the following values are considered as technical parameters: * * - `sap-system` * - `sap-ushell-defaultedParameterNames` * - `"hcpApplicationId"` * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#getTechnicalParameters } * instead. * * @returns Containing the technical parameters. */ getTechnicalParameters(): any[]; /** * Combines the given parameters and selection variant into a new selection variant containing properties * from both, with the parameters overriding existing properties in the selection variant. The new selection * variant does not contain any parameters. All parameters are merged into select options. The output of * this function, converted to a JSON string, can be used for the {@link #.navigate NavigationHandler.navigate } * method. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#mixAttributesAndSelectionVariant } * instead. * * @returns Instance of {@link sap.ui.generic.app.navigation.service.SelectionVariant} */ mixAttributesAndSelectionVariant( /** * Object containing key/value pairs */ mSemanticAttributes: object, /** * The selection variant in string format as provided by the SmartFilterBar control */ sSelectionVariant: string, /** * Indicates whether semantic attributes with special values (see {@link sap.ui.generic.app.navigation.service.SuppressionBehavior suppression behavior}) * must be suppressed before they are combined with the selection variant; several {@link sap.ui.generic.app.navigation.service.SuppressionBehavior suppression behaviors } * can be combined with the bitwise OR operator (|) */ iSuppressionBehavior?: int ): sap.ui.generic.app.navigation.service.SelectionVariant; /** * Triggers a cross-app navigation after saving the inner and the cross-app states. Since 1.52.0 the navigation * mode based on `sap-ushell-next-navmode` is taken into account. If set to `explace` the inner app state * will not be changed. **Note:** The `sNavMode` argument can be used to overwrite the SAP Fiori launchpad * default navigation for opening a URL in-place or ex-place. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#navigate} instead. * * **Node:** If the `oExternalAppData` parameter is not supplied, the external app data will be calculated * based on the `oInnerAppData` data. * SmartFilterBar control **Parameters:** {object} **oError** * Error object (instance of {@link sap.ui.generic.app.navigation.service.NavError}) that describes * which kind of error occurred {string} **oError.errorCode** * Code to identify the error {string} **oError.type** Severity * of the error (info/warning/error) {array} **oError.params** * An array of objects (typically strings) that describe additional value parameters required for generating * the message */ navigate( /** * Name of the semantic object of the target app */ sSemanticObject: string, /** * Name of the action of the target app */ sActionName: string, /** * Navigation parameters as an object with key/value pairs or as a string representation of such an object. * If passed as an object, the properties are not checked against the `IsPotentialSensitive` or `Measure` * type. */ vNavigationParameters: object | string, /** * Object for storing current state of the app */ oInnerAppData: { /** * Stringified JSON object as returned, for example, from getDataSuiteFormat() of the SmartFilterBar control */ selectionVariant?: string; /** * ID of the SmartTable variant */ tableVariantId?: string; /** * Object that can be used to store arbitrary data */ customData?: object; /** * Object containing the current ui state of the app */ presentationVariant?: object; /** * Object containing value descriptions */ valueTexts?: object; /** * Object containing semanticDates filter information */ semanticDates?: object; }, /** * Callback that is called if an error occurs during navigation */ fnOnError: Function, /** * Object for storing the state which will be forwarded to the target component. */ oExternalAppData: { /** * Object containing the current ui state of the app which will be forwarded to the target component. */ presentationVariant?: object; /** * Object containing value descriptions which will be forwarded to the target component. */ valueTexts?: object; /** * Stringified JSON object, which will be forwarded to the target component. If not provided the selectionVariant * will be constructed based on the vNavigationParameters. */ selectionVariant?: object; }, /** * Argument is used to overwrite the FLP-configured target for opening a URL. If used, only the `explace` * or `inplace` values are allowed. Any other value will lead to an exception `NavigationHandler.INVALID_NAV_MODE`. */ sNavMode?: string ): void; /** * Triggers a cross-app navigation after saving the inner and the cross-app states. Since 1.52.0 the navigation * mode based on `sap-ushell-next-navmode` is taken into account. If set to `explace` the inner app state * will not be changed. **Note:** The `sNavMode` argument can be used to overwrite the SAP Fiori launchpad * default navigation for opening a URL in-place or ex-place. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#navigate} instead. * * **Node:** If the `oExternalAppData` parameter is not supplied, the external app data will be calculated * based on the `oInnerAppData` data. * SmartFilterBar control **Parameters:** {object} **oError** * Error object (instance of {@link sap.ui.generic.app.navigation.service.NavError}) that describes * which kind of error occurred {string} **oError.errorCode** * Code to identify the error {string} **oError.type** Severity * of the error (info/warning/error) {array} **oError.params** * An array of objects (typically strings) that describe additional value parameters required for generating * the message */ navigate( /** * Name of the semantic object of the target app */ sSemanticObject: string, /** * Name of the action of the target app */ sActionName: string, /** * Navigation parameters as an object with key/value pairs or as a string representation of such an object. * If passed as an object, the properties are not checked against the `IsPotentialSensitive` or `Measure` * type. */ vNavigationParameters: object | string, /** * Object for storing current state of the app */ oInnerAppData: { /** * Stringified JSON object as returned, for example, from getDataSuiteFormat() of the SmartFilterBar control */ selectionVariant?: string; /** * ID of the SmartTable variant */ tableVariantId?: string; /** * Object that can be used to store arbitrary data */ customData?: object; /** * Object containing the current ui state of the app */ presentationVariant?: object; /** * Object containing value descriptions */ valueTexts?: object; /** * Object containing semanticDates filter information */ semanticDates?: object; }, /** * Object for storing the state which will be forwarded to the target component. */ oExternalAppData: { /** * Object containing the current ui state of the app which will be forwarded to the target component. */ presentationVariant?: object; /** * Object containing value descriptions which will be forwarded to the target component. */ valueTexts?: object; /** * Stringified JSON object, which will be forwarded to the target component. If not provided the selectionVariant * will be constructed based on the vNavigationParameters. */ selectionVariant?: object; }, /** * Argument is used to overwrite the FLP-configured target for opening a URL. If used, only the `explace` * or `inplace` values are allowed. Any other value will lead to an exception `NavigationHandler.INVALID_NAV_MODE`. */ sNavMode?: string ): void; /** * Triggers a cross-app navigation after saving the inner and the cross-app states. Since 1.52.0 the navigation * mode based on `sap-ushell-next-navmode` is taken into account. If set to `explace` the inner app state * will not be changed. **Note:** The `sNavMode` argument can be used to overwrite the SAP Fiori launchpad * default navigation for opening a URL in-place or ex-place. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#navigate} instead. * * **Node:** If the `oExternalAppData` parameter is not supplied, the external app data will be calculated * based on the `oInnerAppData` data. * SmartFilterBar control **Parameters:** {object} **oError** * Error object (instance of {@link sap.ui.generic.app.navigation.service.NavError}) that describes * which kind of error occurred {string} **oError.errorCode** * Code to identify the error {string} **oError.type** Severity * of the error (info/warning/error) {array} **oError.params** * An array of objects (typically strings) that describe additional value parameters required for generating * the message */ navigate( /** * Name of the semantic object of the target app */ sSemanticObject: string, /** * Name of the action of the target app */ sActionName: string, /** * Navigation parameters as an object with key/value pairs or as a string representation of such an object. * If passed as an object, the properties are not checked against the `IsPotentialSensitive` or `Measure` * type. */ vNavigationParameters: object | string, /** * Callback that is called if an error occurs during navigation */ fnOnError: Function, /** * Object for storing the state which will be forwarded to the target component. */ oExternalAppData: { /** * Object containing the current ui state of the app which will be forwarded to the target component. */ presentationVariant?: object; /** * Object containing value descriptions which will be forwarded to the target component. */ valueTexts?: object; /** * Stringified JSON object, which will be forwarded to the target component. If not provided the selectionVariant * will be constructed based on the vNavigationParameters. */ selectionVariant?: object; }, /** * Argument is used to overwrite the FLP-configured target for opening a URL. If used, only the `explace` * or `inplace` values are allowed. Any other value will lead to an exception `NavigationHandler.INVALID_NAV_MODE`. */ sNavMode?: string ): void; /** * Triggers a cross-app navigation after saving the inner and the cross-app states. Since 1.52.0 the navigation * mode based on `sap-ushell-next-navmode` is taken into account. If set to `explace` the inner app state * will not be changed. **Note:** The `sNavMode` argument can be used to overwrite the SAP Fiori launchpad * default navigation for opening a URL in-place or ex-place. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#navigate} instead. * * **Node:** If the `oExternalAppData` parameter is not supplied, the external app data will be calculated * based on the `oInnerAppData` data. * SmartFilterBar control **Parameters:** {object} **oError** * Error object (instance of {@link sap.ui.generic.app.navigation.service.NavError}) that describes * which kind of error occurred {string} **oError.errorCode** * Code to identify the error {string} **oError.type** Severity * of the error (info/warning/error) {array} **oError.params** * An array of objects (typically strings) that describe additional value parameters required for generating * the message */ navigate( /** * Name of the semantic object of the target app */ sSemanticObject: string, /** * Name of the action of the target app */ sActionName: string, /** * Object for storing current state of the app */ oInnerAppData: { /** * Stringified JSON object as returned, for example, from getDataSuiteFormat() of the SmartFilterBar control */ selectionVariant?: string; /** * ID of the SmartTable variant */ tableVariantId?: string; /** * Object that can be used to store arbitrary data */ customData?: object; /** * Object containing the current ui state of the app */ presentationVariant?: object; /** * Object containing value descriptions */ valueTexts?: object; /** * Object containing semanticDates filter information */ semanticDates?: object; }, /** * Callback that is called if an error occurs during navigation */ fnOnError: Function, /** * Object for storing the state which will be forwarded to the target component. */ oExternalAppData: { /** * Object containing the current ui state of the app which will be forwarded to the target component. */ presentationVariant?: object; /** * Object containing value descriptions which will be forwarded to the target component. */ valueTexts?: object; /** * Stringified JSON object, which will be forwarded to the target component. If not provided the selectionVariant * will be constructed based on the vNavigationParameters. */ selectionVariant?: object; }, /** * Argument is used to overwrite the FLP-configured target for opening a URL. If used, only the `explace` * or `inplace` values are allowed. Any other value will lead to an exception `NavigationHandler.INVALID_NAV_MODE`. */ sNavMode?: string ): void; /** * Triggers a cross-app navigation after saving the inner and the cross-app states. Since 1.52.0 the navigation * mode based on `sap-ushell-next-navmode` is taken into account. If set to `explace` the inner app state * will not be changed. **Note:** The `sNavMode` argument can be used to overwrite the SAP Fiori launchpad * default navigation for opening a URL in-place or ex-place. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#navigate} instead. * * **Node:** If the `oExternalAppData` parameter is not supplied, the external app data will be calculated * based on the `oInnerAppData` data. * SmartFilterBar control **Parameters:** {object} **oError** * Error object (instance of {@link sap.ui.generic.app.navigation.service.NavError}) that describes * which kind of error occurred {string} **oError.errorCode** * Code to identify the error {string} **oError.type** Severity * of the error (info/warning/error) {array} **oError.params** * An array of objects (typically strings) that describe additional value parameters required for generating * the message */ navigate( /** * Name of the semantic object of the target app */ sSemanticObject: string, /** * Name of the action of the target app */ sActionName: string, /** * Navigation parameters as an object with key/value pairs or as a string representation of such an object. * If passed as an object, the properties are not checked against the `IsPotentialSensitive` or `Measure` * type. */ vNavigationParameters: object | string, /** * Object for storing the state which will be forwarded to the target component. */ oExternalAppData: { /** * Object containing the current ui state of the app which will be forwarded to the target component. */ presentationVariant?: object; /** * Object containing value descriptions which will be forwarded to the target component. */ valueTexts?: object; /** * Stringified JSON object, which will be forwarded to the target component. If not provided the selectionVariant * will be constructed based on the vNavigationParameters. */ selectionVariant?: object; }, /** * Argument is used to overwrite the FLP-configured target for opening a URL. If used, only the `explace` * or `inplace` values are allowed. Any other value will lead to an exception `NavigationHandler.INVALID_NAV_MODE`. */ sNavMode?: string ): void; /** * Triggers a cross-app navigation after saving the inner and the cross-app states. Since 1.52.0 the navigation * mode based on `sap-ushell-next-navmode` is taken into account. If set to `explace` the inner app state * will not be changed. **Note:** The `sNavMode` argument can be used to overwrite the SAP Fiori launchpad * default navigation for opening a URL in-place or ex-place. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#navigate} instead. * * **Node:** If the `oExternalAppData` parameter is not supplied, the external app data will be calculated * based on the `oInnerAppData` data. * SmartFilterBar control **Parameters:** {object} **oError** * Error object (instance of {@link sap.ui.generic.app.navigation.service.NavError}) that describes * which kind of error occurred {string} **oError.errorCode** * Code to identify the error {string} **oError.type** Severity * of the error (info/warning/error) {array} **oError.params** * An array of objects (typically strings) that describe additional value parameters required for generating * the message */ navigate( /** * Name of the semantic object of the target app */ sSemanticObject: string, /** * Name of the action of the target app */ sActionName: string, /** * Object for storing current state of the app */ oInnerAppData: { /** * Stringified JSON object as returned, for example, from getDataSuiteFormat() of the SmartFilterBar control */ selectionVariant?: string; /** * ID of the SmartTable variant */ tableVariantId?: string; /** * Object that can be used to store arbitrary data */ customData?: object; /** * Object containing the current ui state of the app */ presentationVariant?: object; /** * Object containing value descriptions */ valueTexts?: object; /** * Object containing semanticDates filter information */ semanticDates?: object; }, /** * Object for storing the state which will be forwarded to the target component. */ oExternalAppData: { /** * Object containing the current ui state of the app which will be forwarded to the target component. */ presentationVariant?: object; /** * Object containing value descriptions which will be forwarded to the target component. */ valueTexts?: object; /** * Stringified JSON object, which will be forwarded to the target component. If not provided the selectionVariant * will be constructed based on the vNavigationParameters. */ selectionVariant?: object; }, /** * Argument is used to overwrite the FLP-configured target for opening a URL. If used, only the `explace` * or `inplace` values are allowed. Any other value will lead to an exception `NavigationHandler.INVALID_NAV_MODE`. */ sNavMode?: string ): void; /** * Triggers a cross-app navigation after saving the inner and the cross-app states. Since 1.52.0 the navigation * mode based on `sap-ushell-next-navmode` is taken into account. If set to `explace` the inner app state * will not be changed. **Note:** The `sNavMode` argument can be used to overwrite the SAP Fiori launchpad * default navigation for opening a URL in-place or ex-place. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#navigate} instead. * * **Node:** If the `oExternalAppData` parameter is not supplied, the external app data will be calculated * based on the `oInnerAppData` data. * SmartFilterBar control **Parameters:** {object} **oError** * Error object (instance of {@link sap.ui.generic.app.navigation.service.NavError}) that describes * which kind of error occurred {string} **oError.errorCode** * Code to identify the error {string} **oError.type** Severity * of the error (info/warning/error) {array} **oError.params** * An array of objects (typically strings) that describe additional value parameters required for generating * the message */ navigate( /** * Name of the semantic object of the target app */ sSemanticObject: string, /** * Name of the action of the target app */ sActionName: string, /** * Callback that is called if an error occurs during navigation */ fnOnError: Function, /** * Object for storing the state which will be forwarded to the target component. */ oExternalAppData: { /** * Object containing the current ui state of the app which will be forwarded to the target component. */ presentationVariant?: object; /** * Object containing value descriptions which will be forwarded to the target component. */ valueTexts?: object; /** * Stringified JSON object, which will be forwarded to the target component. If not provided the selectionVariant * will be constructed based on the vNavigationParameters. */ selectionVariant?: object; }, /** * Argument is used to overwrite the FLP-configured target for opening a URL. If used, only the `explace` * or `inplace` values are allowed. Any other value will lead to an exception `NavigationHandler.INVALID_NAV_MODE`. */ sNavMode?: string ): void; /** * Triggers a cross-app navigation after saving the inner and the cross-app states. Since 1.52.0 the navigation * mode based on `sap-ushell-next-navmode` is taken into account. If set to `explace` the inner app state * will not be changed. **Note:** The `sNavMode` argument can be used to overwrite the SAP Fiori launchpad * default navigation for opening a URL in-place or ex-place. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#navigate} instead. * * **Node:** If the `oExternalAppData` parameter is not supplied, the external app data will be calculated * based on the `oInnerAppData` data. * SmartFilterBar control **Parameters:** {object} **oError** * Error object (instance of {@link sap.ui.generic.app.navigation.service.NavError}) that describes * which kind of error occurred {string} **oError.errorCode** * Code to identify the error {string} **oError.type** Severity * of the error (info/warning/error) {array} **oError.params** * An array of objects (typically strings) that describe additional value parameters required for generating * the message */ navigate( /** * Name of the semantic object of the target app */ sSemanticObject: string, /** * Name of the action of the target app */ sActionName: string, /** * Object for storing the state which will be forwarded to the target component. */ oExternalAppData: { /** * Object containing the current ui state of the app which will be forwarded to the target component. */ presentationVariant?: object; /** * Object containing value descriptions which will be forwarded to the target component. */ valueTexts?: object; /** * Stringified JSON object, which will be forwarded to the target component. If not provided the selectionVariant * will be constructed based on the vNavigationParameters. */ selectionVariant?: object; }, /** * Argument is used to overwrite the FLP-configured target for opening a URL. If used, only the `explace` * or `inplace` values are allowed. Any other value will lead to an exception `NavigationHandler.INVALID_NAV_MODE`. */ sNavMode?: string ): void; /** * Parses the incoming URL and returns a Promise. If this method detects a back navigation, the inner app * state is returned in the resolved Promise. Otherwise startup parameters will be merged into the app state * provided by cross app navigation, and a combined app state will be returned. The conflict resolution * can be influenced with sParamHandlingMode defined in the constructor. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#parseNavigation } * instead. * * @returns A Promise object to monitor when all the actions of the function have been executed. If the * execution is successful, the extracted app state, the startup parameters, and the type of navigation * are returned, see also the example above. The app state is an object that contains the following information: * * - `oAppData.oSelectionVariant`: An instance of {@link sap.ui.generic.app.navigation.service.SelectionVariant } * containing only parameters/select options that are related to navigation * - `oAppData.selectionVariant`: The navigation-related selection variant as a JSON-formatted string * * - `oAppData.oDefaultedSelectionVariant`: An instance of {@link sap.ui.generic.app.navigation.service.SelectionVariant } * containing only the parameters/select options that are set by user default data * - `oAppData.bNavSelVarHasDefaultsOnly`: A Boolean flag that indicates whether only defaulted parameters * and no navigation parameters are present. * **Note:** If no navigation parameters are available, `bNavSelVarHasDefaultsOnly` is set to `true`, even * though parameters without default might be available as well. If the navigation-related selection * variant is empty, it is replaced by a copy of the defaulted selection variant. * The navigation type is an enumeration type of type {@link sap.ui.generic.app.navigation.service.NavType } * (possible values are initial, URLParams, xAppState, and iAppState). * **Note:** If the navigation type is {@link sap.ui.generic.app.navigation.service.NavType.iAppState } * oAppData has two additional properties * - `oAppData.tableVariantId` * - `oAppData.customData` which return the inner app data as stored in {@link #.navigate navigate } * or {@link #.storeInnerAppState storeInnerAppState}. `oAppData.oDefaultedSelectionVariant` is an empty * selection variant and `oAppData.bNavSelVarHasDefaultsOnly` is `false` in this case. * **Note:** If the navigation type is {@link sap.ui.generic.app.navigation.service.NavType.initial} oAppData * is an empty object! * If an error occurs, an error object of type {@link sap.ui.generic.app.navigation.service.NavError}, * URL parameters (if available) and the type of navigation are returned. */ parseNavigation(): jQuery.Promise; /** * Processes navigation-related tasks related to beforePopoverOpens event handling for the SmartLink control * and returns a Promise object. In particular, the following tasks are performed before the SmartLink popover * can be opened: * - If `mInnerAppData` is provided, this inner app state is saved for back navigation at a later time. * * - The table event parameters (semantic attributes) and the selection variant data are combined by calling * the method {@link #.mixAttributesAndSelectionVariant mixAttributesAndSelectionVariant}. * - The combined data is saved as the cross app state to be handed over to the target app, and the corresponding * sap-xapp-state key is set in the URL. * - All single selections ("including equal") of the combined selection data are passed to the SmartLink * popover as semantic attributes. * - The method `oTableEventParameters.open()` is called. Note that this does not really open the popover, * but the SmartLink control proceeds with firing the event `navigationTargetsObtained`. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#processBeforeSmartLinkPopoverOpens } * instead. * **Node:** If the `oExternalAppData` parameter is not supplied, the external app data will be calculated * based on the `mInnerAppData` data. * * * @returns A Promise object to monitor when all actions of the function have been executed; if the execution * is successful, the modified oTableEventParameters is returned; if an error occurs, an error object of * type {@link sap.ui.generic.app.navigation.service.NavError} is returned */ processBeforeSmartLinkPopoverOpens( /** * The parameters made available by the SmartTable control when the SmartLink control has been clicked, * an instance of a PopOver object */ oTableEventParameters: object, /** * Stringified JSON object as returned, for example, from getDataSuiteFormat() of the SmartFilterBar control */ sSelectionVariant: string, /** * Object containing the current state of the app. If provided, opening the Popover is deferred until the * inner app data is saved in a consistent way. */ mInnerAppData?: { /** * Stringified JSON object as returned, for example, from getDataSuiteFormat() of the the SmartFilterBar * control; if provided, the selection is merged into the semantic attributes */ selectionVariant?: string; /** * ID of the SmartTable variant */ tableVariantId?: string; /** * Object that can be used to store additional app-specific data */ customData?: object; /** * Object containing the current ui presentationVariantof the app */ presentationVariant?: object; /** * Object containing value descriptions */ valueTexts?: object; /** * Object containing semanticDates filter information */ semanticDates?: object; }, /** * Object containing the state which will be passed to the target screen. */ oExternalAppData?: { /** * Object containing selectionVariant, which will be passed to the target screen. If not set the sSelectionVariant * will be used. */ selectionVariant?: object; /** * Object containing the current ui presentationVariant of the app, which will be passed to the target screen */ presentationVariant?: object; /** * Object containing value descriptions, which will be passed to the target screen */ valueTexts?: object; } ): jQuery.Promise; /** * Changes the URL according to the current sAppStateKey. As an reaction route change event will be triggered. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#replaceHash } * instead. */ replaceHash( /** * the new app state key. */ sAppStateKey: string ): void; /** * Sets the model that is used for verification of sensitive information. If the model is not set, the unnamed * component model is used for the verification of sensitive information. * * @since 1.60.0 * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#setModel} instead. */ setModel( /** * for checking sensitive information */ oModel: sap.ui.model.odata.v2.ODataModel ): void; /** * Sets the application specific technical parameters. Technical parameters will not be added to the selection * variant passed to the application. As a default the following values are considered as technical parameters: * * - `sap-system` * - `sap-ushell-defaultedParameterNames` * - `"hcpApplicationId"` * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#setTechnicalParameters } * instead. */ setTechnicalParameters( /** * list of parameter names to be considered as technical parameters. `null` or `undefined` may be used to * reset the complete list. */ aTechnicalParameters: any[] ): void; /** * Changes the URL according to the current app state and stores the app state for later retrieval. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#storeInnerAppStateAsync } * instead. * * @returns A Promise object to monitor when all the actions of the function have been executed; if the * execution is successful, the app state key is returned; if an error occurs, an object of type {@link sap.ui.generic.app.navigation.service.NavError } * is returned */ storeInnerAppState( /** * Object containing the current state of the app */ mInnerAppData: { /** * Stringified JSON object as returned, for example, from getDataSuiteFormat() of the SmartFilterBar control */ selectionVariant: string; /** * ID of the SmartTable variant */ tableVariantId?: string; /** * Object that can be used to store additional app-specific data */ customData?: object; /** * Object containing the current ui state of the app */ presentationVariant?: object; /** * Object containing value descriptions */ valueTexts?: object; /** * Object containing semanticDates filter information */ semanticDates?: object; }, /** * If set to false, the inner app hash will not be replaced until storing is successful; do not set to false * if you cannot react to the resolution of the Promise, for example, when calling the beforeLinkPressed * event */ bImmediateHashReplace?: boolean ): jQuery.Promise; /** * Changes the URL according to the current app state and stores the app state for later retrieval. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavigationHandler#storeInnerAppStateAsync } * instead. * * @returns An object containing the appStateId and a promise object to monitor when all the actions of * the function have been executed; Please note that the appStateKey may be undefined or empty. */ storeInnerAppStateWithImmediateReturn( /** * Object containing the current state of the app */ mInnerAppData: { /** * Stringified JSON object as returned, for example, from getDataSuiteFormat() of the SmartFilterBar control */ selectionVariant: string; /** * ID of the SmartTable variant */ tableVariantId?: string; /** * Object that can be used to store additional app-specific data */ customData?: object; /** * Object containing the current ui state of the app */ presentationVariant?: object; /** * Object containing value descriptions */ valueTexts?: object; /** * Object containing semanticDates filter information */ semanticDates?: object; }, /** * If set to false, the inner app hash will not be replaced until storing is successful; do not set to false * if you cannot react to the resolution of the Promise, for example, when calling the beforeLinkPressed * event. **Note:**If not provided it will be treated as set to false. **Note:**If set to true, the calling * instance has to ensure that a follow-on call to `replaceHash` will take place! */ bImmediateHashReplace?: boolean ): Object; } /** * Creates a new instance of a PresentationVariant class. If no parameter is passed, an new empty instance * is created whose ID has been set to `""`. Passing a JSON-serialized string complying to the Selection * Variant Specification will parse it, and the newly created instance will contain the same information. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant} instead. */ class PresentationVariant extends sap.fe.navigation .PresentationVariant { constructor( /** * If of type `string`, the selection variant is JSON-formatted; if of type `object`, the object represents * a selection variant */ vPresentationVariant?: string | object ); /** * Creates a new subclass of class sap.ui.generic.app.navigation.service.PresentationVariant 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.fe.navigation.PresentationVariant.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< T, sap.ui.generic.app.navigation.service.PresentationVariant >, /** * 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.ui.generic.app.navigation.service.PresentationVariant. * * * @returns Metadata object describing this class */ static getMetadata(): sap.ui.base.Metadata; /** * Gets the chart visualization property. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#getChartVisualization } * instead. * * @returns mProperties to be used for the chart visualization. */ getChartVisualization(): | sap.fe.navigation.PresentationVariant.Visualization | undefined; /** * Gets the current context URL intended for the query. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#getContextUrl } * instead. * * @returns The current context URL for the query */ getContextUrl(): string; /** * Returns the identification of the selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#getID} instead. * * @returns The identification of the selection variant as made available during construction */ getID(): string; /** * Gets the more trivial properties. Basically all properties with the exception of the Visualization. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#getProperties } * instead. * * @returns The current properties. */ getProperties(): Record; /** * Gets the table visualization property. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#getTableVisualization } * instead. * * @returns mProperties to be used for the table visualization. */ getTableVisualization(): | sap.fe.navigation.PresentationVariant.Visualization | undefined; /** * Returns the current text / description of this selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#getText} instead. * * @returns the current description of this selection variant. */ getText(): string; /** * Returns `true` if the presentation variant does not contain any properties. nor ranges. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#isEmpty} instead. * * @returns If set to `true` there are no current properties set; `false` otherwise. */ isEmpty(): boolean; /** * Sets the chart visualization property. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#setChartVisualization } * instead. */ setChartVisualization( /** * to be used for the chart visualization. */ mProperties: Record ): void; /** * Sets the context URL. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#setContextUrl } * instead. */ setContextUrl( /** * The URL of the context */ sURL: string ): void; /** * Sets the identification of the selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#setID} instead. */ setID( /** * The new identification of the selection variant */ sId: string ): void; /** * Sets the more trivial properties. Basically all properties with the exception of the Visualization. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#setProperties } * instead. */ setProperties( /** * properties to be used. */ mProperties: Record ): void; /** * Sets the table visualization property. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#setTableVisualization } * instead. */ setTableVisualization( /** * to be used for the table visualization. */ mProperties: Record ): void; /** * Sets the text / description of the selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#setText} instead. */ setText( /** * The new description to be used */ sNewText: string ): void; /** * Returns the external representation of the selection variant as JSON object. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#toJSONObject } * instead. * * @returns The external representation of this instance as a JSON object */ toJSONObject(): sap.fe.navigation.PresentationVariant.ExternalPresentationVariant; /** * Serializes this instance into a JSON-formatted string. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.PresentationVariant#toJSONString } * instead. * * @returns The JSON-formatted representation of this instance in stringified format */ toJSONString(): string; } /** * Creates a new instance of a SelectionVariant class. If no parameter is passed, an new empty instance * is created whose ID has been set to `""`. Passing a JSON-serialized string complying to the Selection * Variant Specification will parse it, and the newly created instance will contain the same information. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant} instead. */ class SelectionVariant extends sap.fe.navigation.SelectionVariant { constructor( /** * If of type `string`, the selection variant is JSON-formatted; if of type `object`, the object represents * a selection variant */ vSelectionVariant?: string | object ); /** * Creates a new subclass of class sap.ui.generic.app.navigation.service.SelectionVariant 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.fe.navigation.SelectionVariant.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< T, sap.ui.generic.app.navigation.service.SelectionVariant >, /** * 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.ui.generic.app.navigation.service.SelectionVariant. * * * @returns Metadata object describing this class */ static getMetadata(): sap.ui.base.Metadata; /** * Sets the value of a parameter called `sName` to the new value `sValue`. If the parameter has already * been set before, its value is overwritten. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#addParameter } * instead. * * @returns This instance to allow method chaining */ addParameter( /** * The name of the parameter to be set; the `null` value is not allowed */ sName: string, /** * The value of the parameter to be set */ sValue: string ): this; /** * Adds a new range to the list of select options for a given parameter. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#addSelectOption } * instead. * * @returns This instance to allow method chaining. */ addSelectOption( /** * The name of the property for which the selection range is added */ sPropertyName: string, /** * The sign of the range (**I**nclude or **E**xclude) */ sSign: string, /** * The option of the range (**EQ** for "equals", **NE** for "not equals", **LE** for "less or equals", **GE** * for "greater or equals", **LT** for "less than" (and not equals), **GT** for "greater than" (and not * equals), **BT** for "between", or **CP** for "contains pattern" (ABAP-styled pattern matching with the * asterisk as wildcard) */ sOption: string, /** * The single value or the lower boundary of the interval; the `null` value is not allowed */ sLow: string, /** * Set only if sOption is **BT**: the upper boundary of the interval; must be `undefined` or `null` in all * other cases */ sHigh?: string ): this; /** * Gets the current context URL intended for the filters. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getFilterContextUrl } * instead. * * @returns The current context URL for the filters */ getFilterContextUrl(): string; /** * Returns the identification of the selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getID} instead. * * @returns The identification of the selection variant as made available during construction */ getID(): string; /** * Returns the value of the parameter called `sName` if it has been set. If the parameter has never been * set or has been removed, `undefined` is returned. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getParameter } * instead. * * @returns The value of parameter `sName`; returning the value `null` not possible */ getParameter( /** * The name of the parameter to be returned */ sName: string ): string; /** * Gets the current context URL intended for the parameters. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getParameterContextUrl } * instead. * * @returns The current context URL for the parameters */ getParameterContextUrl(): string; /** * Returns the set of parameter names available in this selection variant * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getParameterNames } * instead. * * @returns the list of parameter names which are valid */ getParameterNames(): any[]; /** * Returns the names of the parameter and select option properties available for this instance. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getPropertyNames } * instead. * * @returns The list of parameter and select option property names available for this instance */ getPropertyNames(): any[]; /** * Returns the set of select options/ranges available for a given property name. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getSelectOption } * instead. * * @returns If `sPropertyName` is an invalid name of a property or no range exists, `undefined` is returned; * otherwise, an immutable array of ranges is returned. Each entry of the array is an object with the following * properties: * - `Sign`: The sign of the range * - `Option`: The option of the range * - `Low`: The low value of the range; returning value `null` is not possible * - `High`: The high value of the range; if this value is not necessary, `null` is used For further * information about the meaning of the attributes, refer to method `addSelectOption`. */ getSelectOption( /** * The name of the property for which the set of select options/ranges is returned */ sPropertyName: string ): any[]; /** * Returns the names of the properties available for this instance. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getSelectOptionsPropertyNames } * instead. * * @returns The list of property names available for this instance */ getSelectOptionsPropertyNames(): any[]; /** * Returns the current text / description of this selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getText} instead. * * @returns the current description of this selection variant. */ getText(): string; /** * First tries to retrieve the set of select options/ranges available for `sName` as property name. If successful, * this array of selections is being returned. If it fails, an attempt to find a parameter, whose name is * `sName`, is made. If the latter succeeds, the single value is converted to fit into an array of selections * to make it type compatible with ranges. This array is then returned. If neither a select option * nor a parameter could be found, `undefined` is returned. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#getValue} instead. * * @returns The ranges in the select options for the specified property or a range-converted representation * of a parameter is returned. If both lookups fail, `undefined` is returned. The returned ranges * have the format: * - `Sign`: The sign of the range * - `Option`: The option of the range * - `Low`: The low value of the range; returning the value `null` is not possible * - `High`: The high value of the range; if this value is not necessary, `null` (but does exist) * For further information on the meaning of the attributes, refer to method {@link #.addSelectOption addSelectOption}. */ getValue( /** * The name of the attribute for which the value is retrieved */ sName: string ): any[]; /** * Returns `true` if the selection variant does neither contain parameters nor ranges. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#isEmpty} instead. * * @returns If set to `true` there are no parameters and no select options available in the selection variant; * `false` otherwise. */ isEmpty(): boolean; /** * Adds a set of select options to the list of select options for a given parameter. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#massAddSelectOption } * instead. * * @returns This instance to allow method chaining */ massAddSelectOption( /** * The name of the property for which the set of select options is added */ sPropertyName: string, /** * Set of select options to be added */ aSelectOptions: any[] ): this; /** * Removes a parameter called `sName` from the selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#removeParameter } * instead. * * @returns This instance to allow method chaining */ removeParameter( /** * The name of the parameter to be removed */ sName: string ): this; /** * Removes a select option called `sName` from the selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#removeSelectOption } * instead. * * @returns This instance to allow method chaining. */ removeSelectOption( /** * The name of the select option to be removed */ sName: string ): this; /** * Renames a parameter called `sNameOld` to `sNameNew`. If a parameter or a select option with the name * `sNameNew` already exist, an error is thrown. If a parameter with the name `sNameOld` does not exist, * nothing is changed. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#renameParameter } * instead. * * @returns This instance to allow method chaining */ renameParameter( /** * The current name of the parameter to be renamed */ sNameOld: string, /** * The new name of the parameter */ sNameNew: string ): this; /** * Renames a select option called `sNameOld` to `sNameNew`. If a select option or a parameter with the name * `sNameNew` already exist, an error is thrown. If a select option with the name `sNameOld` does not exist, * nothing is changed. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#renameSelectOption } * instead. * * @returns This instance to allow method chaining */ renameSelectOption( /** * The current name of the select option property to be renamed */ sNameOld: string, /** * The new name of the select option property */ sNameNew: string ): this; /** * Sets the context URL intended for the filters. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#setFilterContextUrl } * instead. */ setFilterContextUrl( /** * The URL of the filters */ sURL: string ): void; /** * Sets the identification of the selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#setID} instead. */ setID( /** * The new identification of the selection variant */ sId: string ): void; /** * Sets the context URL intended for the parameters. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#setParameterContextUrl } * instead. */ setParameterContextUrl( /** * The URL of the parameter context */ sURL: string ): void; /** * Sets the text / description of the selection variant. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#setText} instead. */ setText( /** * The new description to be used */ sNewText: string ): void; /** * Returns the external representation of the selection variant as JSON object. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#toJSONObject } * instead. * * @returns The external representation of this instance as a JSON object */ toJSONObject(): object; /** * Serializes this instance into a JSON-formatted string * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SelectionVariant#toJSONString } * instead. * * @returns The JSON-formatted representation of this instance in stringified format */ toJSONString(): string; } /** * A static enumeration type which indicates the type of inbound navigation * * This enum is part of the 'sap/ui/generic/app/library' module export and must be accessed by the property * 'navigation.service.NavType'. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.NavType} instead. */ enum NavType { /** * Passing iapp-state data within xapp state in addition to existing values * * @ui5-protected DO NOT USE IN APPLICATIONS (only for related classes in the framework) */ hybrid = "undefined", /** * Back navigation with sap-iapp-state parameter */ iAppState = "undefined", /** * Initial startup without any navigation or default parameters */ initial = "undefined", /** * Basic cross-app navigation with URL parameters only (without sap-xapp-state) or initial start with default * parameters */ URLParams = "undefined", /** * Cross-app navigation with sap-xapp-state parameter (and URL parameters), defaulted parameters may be * added */ xAppState = "undefined", } /** * A static enumeration type which indicates the conflict resolution method when merging URL parameters * into select options * * This enum is part of the 'sap/ui/generic/app/library' module export and must be accessed by the property * 'navigation.service.ParamHandlingMode'. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.ParamHandlingMode} instead. */ enum ParamHandlingMode { /** * The conflict resolution adds URL parameters to the SelectionVariant */ InsertInSelOpt = "undefined", /** * The conflict resolution favors the SelectionVariant over URL parameters */ SelVarWins = "undefined", /** * The conflict resolution favors the URL parameters over the SelectionVariant. Caution: In case of cross-app * navigation a navigation parameter value from the source app is overwritten by a default, if a default * is maintained in the launchpad designer for this parameter in the target app! */ URLParamWins = "undefined", } /** * A static enumeration type which indicates whether semantic attributes with values `null`, `undefined` * or `""` (empty string) shall be suppressed, before they are mixed in to the selection variant in the * method {@link sap.ui.generic.app.navigation.service.NavigationHandler.mixAttributesAndSelectionVariant mixAttributesAndSelectionVariant } * of the {@link sap.ui.generic.app.navigation.service.NavigationHandler NavigationHandler} * * This enum is part of the 'sap/ui/generic/app/library' module export and must be accessed by the property * 'navigation.service.SuppressionBehavior'. * * @deprecated As of version 1.83.0. Please use {@link sap.fe.navigation.SuppressionBehavior} instead. */ enum SuppressionBehavior { /** * Semantic attributes with an empty string are ignored, the remaining attributes are mixed in to the selection * variant. Warning! Consider the impact on Boolean variable values! */ ignoreEmptyString = "undefined", /** * Semantic attributes with a `null` value lead to an {@link sap.fin.central.lib.error.Error error} of type * NavigationHandler.INVALID_INPUT */ raiseErrorOnNull = "undefined", /** * Semantic attributes with an `undefined` value lead to an {@link sap.fin.central.lib.error.Error error } * of type NavigationHandler.INVALID_INPUT */ raiseErrorOnUndefined = "undefined", /** * Standard suppression behavior: semantic attributes with a `null` or an `undefined` value are ignored, * the remaining attributes are mixed in to the selection variant */ standard = "undefined", } } } namespace transaction { /** * Common base class for `sap.ui.generic.app.transaction.TransactionController` and `sap.ui.generic.app.transaction.DraftController`, * which offers basic functionality to invoke OData functions and actions as well as OData CRUD functions * in general. * * @since 1.30.0 */ class BaseController extends sap.ui.base.EventProvider { /** * Constructor for base class for controller instances. */ constructor( /** * The OData model currently used */ oModel: sap.ui.model.odata.v2.ODataModel, /** * Optional HTTP request queue */ oQueue: /* was: sap.ui.generic.app.util.Queue */ any, /** * Delayed draft timer object */ oDraftMergeTimer: Object ); /** * Creates a new subclass of class sap.ui.generic.app.transaction.BaseController 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.base.EventProvider.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< T, sap.ui.generic.app.transaction.BaseController >, /** * 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.ui.generic.app.transaction.BaseController. * * * @returns Metadata object describing this class */ static getMetadata(): sap.ui.base.Metadata; /** * Attaches event handler `fnFunction` to the `fatalError` event. */ attachFatalError( /** * The function to call when the event occurs */ fnFunction: Function, /** * Object on which to call the given function */ oListener?: object ): void; /** * Frees all resources claimed during the life-time of this instance. */ destroy(): void; /** * Detaches event handler `fnFunction` from the `fatalError` event. */ detachFatalError( /** * The function to call when the event occurs */ fnFunction: Function, /** * Object on which to call the given function */ oListener?: object ): void; /** * Checks for client messages. * * * @returns If client-side messages exist a rejected promise is returned, `null` otherwise */ hasClientMessages(): Promise; /** * Triggers submitting the currently tracked changes to the back-end. * * * @returns A `Promise` for asynchronous execution of the submit */ triggerSubmitChanges( /** * Parameters to control the submit behavior */ mParameters: { /** * If set to `true`, the current user interface is not blocked by a busy animation */ noBlockUI: boolean; /** * If set to `true`, no success and error messages are shown */ noShowResponse: boolean; /** * If set to `true`, the success message is not shown in a toast */ noShowSuccessToast: boolean; /** * An optional success message */ successMsg: string; /** * An optional error message */ failedMsg: string; /** * If set to `true`, the delayed draft merge timer will not be cleared */ keepDraftMergeTimer?: boolean; } ): Promise; } /** * The class provides access to information on draft handling that is available in the OData service's metadata * as it interprets draft-specific annotations. * * @since 1.30.0 */ class DraftContext extends sap.ui.base.Object { /** * Constructor for meta-model access class. */ constructor( /** * The OData model currently used */ oModel: sap.ui.model.odata.v2.ODataModel ); /** * Creates a new subclass of class sap.ui.generic.app.transaction.DraftContext 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.base.Object.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< T, sap.ui.generic.app.transaction.DraftContext >, /** * 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.ui.generic.app.transaction.DraftContext. * * * @returns Metadata object describing this class */ static getMetadata(): sap.ui.base.Metadata; /** * Frees all resources claimed during the life-time of this instance. */ destroy(): void; /** * Returns the name of the function import to be used. * * * @returns The name of the function import to be used */ getODataDraftFunctionImportName( /** * The given binding context */ oContext: sap.ui.model.Context, /** * The draft function import */ sDraftFunctionImport: string ): string; /** * Returns the semantic keys for a given entity set. * * * @returns The semantic keys */ getSemanticKey( /** * The given entity set */ sEntitySet: string ): any[]; /** * Checks whether an entity set is draft-enabled. The entity set name is derived from the given binding * context * * * @returns `true`, if a given entity set is draft-enabled, `false` otherwise */ hasDraft( /** * The given binding context */ oContext: sap.ui.model.Context ): boolean; /** * Checks whether administrative data for a given draft is available. * * * @returns `true`, if administrative data is available, `false` otherwise */ hasDraftAdministrativeData( /** * The name of the entity set */ sEntitySet: string ): boolean; /** * Checks whether an entity set has a draft preparation action. The entity set name is derived from the * given binding context. * * * @returns `true`, if a given entity set has a draft preparation action, `false` otherwise */ hasDraftPreparationAction( /** * The given binding context */ oContext: sap.ui.model.Context ): boolean; /** * Checks whether an entity set is draft root. The entity set name is derived from the given binding context. * * * @returns `true`, if a given entity set is draft root, `false` otherwise */ hasDraftRoot( /** * The given binding context */ oContext: sap.ui.model.Context ): boolean; /** * Checks whether an entity set has a draft validation function. The entity set name is derived from the * given binding context. * * * @returns `true`, if a given entity set has a draft validation function, `false` otherwise */ hasDraftValidationFunction( /** * The given binding context */ oContext: sap.ui.model.Context ): boolean; /** * Checks if the parameter "PreserveChanges" is supported by the edit function. If the edit action is triggered * with the parameter set to `true` the ABAP application infrastructure will respond with HTTP response * code 409 if unsaved changes (from another user) exist. * * @since 1.38 * * @returns `true`, if "PreserveChanges" is supported */ hasPreserveChanges(): boolean; /** * Checks whether a sibling entity for a given entity set is available. * * * @returns `true`, if sibling entity is available, `false` otherwise */ hasSiblingEntity( /** * The name of the entity set */ sEntitySet: string ): boolean; /** * Checks whether a given entity set is draft-enabled. * * * @returns `true`, if a given entity set is draft-enabled, `false` otherwise */ isDraftEnabled( /** * The name of the entity set */ sEntitySet: string ): boolean; /** * Checks whether a given entity set is a draft root. * * * @returns `true`, if a given entity set is draft root, `false` otherwise */ isDraftRoot( /** * The name of the entity set */ sEntitySet: string ): boolean; /** * Checks whether a given key is a semantic key. * * * @returns `true`, if a given key is a semantic key, `false` otherwise */ isSemanticKey( /** * The name of the entity set */ sEntitySet: string, /** * The given key */ oKeys: object ): boolean; /** * Checks whether a given key is a technical key. * * * @returns `true`, if a given key is a technical key, `false` otherwise */ isTechnicalKey( /** * The name of the entity set */ sEntitySet: string, /** * The given key */ oKeys: object ): boolean; } /** * Gives access to runtime draft handling for applications. Assuming state-less communication, each single * data modification request (or change set in an OData $batch request) is a "mini-transaction", which saves * data to the database. The class implements the transactional interaction patterns specified for OData * services that support draft documents and provides methods for draft-specific actions, for example validate, * prepare, activate. * * Additionally, it handles transactional request processing, ensures concurrency control and correct ETag * handling. It provides access to the simple interaction patterns of runtime handling for drafts according * to the draft specification. These can be combined as required by client applications. Additionally, error * handling is provided to notify client implementations of error situations. The event `fatalError` is * thrown, if fatal errors occur during execution of OData requests. * * @since 1.30.0 */ class DraftController extends sap.ui.generic.app.transaction .BaseController { /** * Constructor for a new draft controller instance. */ constructor( /** * The OData model currently used */ oModel: sap.ui.model.odata.v2.ODataModel, /** * Optional HTTP request queue */ oQueue: /* was: sap.ui.generic.app.util.Queue */ any, /** * Delayed draft timer object */ oDraftMergeTimer: Object ); /** * Creates a new subclass of class sap.ui.generic.app.transaction.DraftController 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.generic.app.transaction.BaseController.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< T, sap.ui.generic.app.transaction.DraftController >, /** * 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.ui.generic.app.transaction.DraftController. * * * @returns Metadata object describing this class */ static getMetadata(): sap.ui.base.Metadata; /** * Submits changes to the back-end and activates a draft entity in the back-end. * * * @returns A `Promise` for asynchronous execution */ activateDraftEntity( /** * The given binding context */ oContext: sap.ui.model.Context, /** * Set to `true` to activate the draft even if warnings exist */ bIsLenient: boolean, /** * Comma separated navigation properties which needs to be expanded with the root context of the active * instance */ sExpand: string ): Promise; /** * Submits changes to the back-end and activates a draft entity in the back-end. * * * @returns A `Promise` for asynchronous execution */ activateDraftEntity( /** * The given binding context */ oContext: sap.ui.model.Context, /** * Comma separated navigation properties which needs to be expanded with the root context of the active * instance */ sExpand: string ): Promise; /** * Creates an edit draft in the back-end. Additionally, possible changes that have been collected on the * client are sent to the back-end. * * * @returns A `Promise` for asynchronous execution */ createEditDraftEntity( /** * The given binding context */ oContext: sap.ui.model.Context, /** * Set to `true` to avoid the creation of a new draft when unsaved changes exist in the back-end */ bPreserveChanges?: boolean, /** * indicates whether root needs to expanded */ sRootExpand?: string ): Promise; /** * Creates a new edit draft on the client and sends it to the back-end. Additionally, possible changes that * have been collected on the client are sent to the back-end. * * * @returns A `Promise` for asynchronous execution of the request */ createNewDraftEntity( /** * The name of the entity set */ sEntitySet: string, /** * Path identifying the new entity instance */ sPath: string, /** * An array that specifies a set of properties or the entry */ vPredefinedValues?: any[] | object, /** * information whether the canonicalRequest parameter should be set for the create request */ bCanonicalRequest?: boolean, /** * parameters to be passed to the function */ oParameters?: { /** * indicates whether root needs to expanded */ sRootExpand?: boolean; /** * controller object required to create ActionUtil instance */ oController?: object; /** * applicationController object required to create ActionUtil instance */ oApplicationController?: object; /** * manifest entry indicating whether newAction has to be used for draft creation */ bUseNewActionForCreate?: boolean; /** * callback to set the busy indicator */ fnSetBusy?: Function; } ): Promise; /** * Frees all resources claimed during the life-time of this instance. */ destroy(): void; /** * Returns the current draft context instance. If no instance exists, it is created lazily. * * * @returns The current draft context instance */ getDraftContext(): sap.ui.generic.app.transaction.DraftContext; /** * Retrieves a possibly existing draft entity for the given active entity using the binding context of the * active entity from the back-end. * * @since 1.32.0 * * @returns A `Promise` for asynchronous execution */ getDraftForActiveEntity( /** * The binding context of the active entity */ oContext: sap.ui.model.Context ): Promise; /** * Checks whether an entity has an active entity associated. * * @since 1.32.0 * * @returns `true`, if an active entity exists, `false` otherwise */ hasActiveEntity( /** * The given binding context */ oContext: sap.ui.model.Context ): boolean; /** * Checks whether an entity set is active. The entity set name is derived from the given binding context * * * @returns `true`, if a given entity set is active, `false` otherwise */ isActiveEntity( /** * The given binding context */ oContext: sap.ui.model.Context ): boolean; /** * Submits changes to the back-end and prepares an existing draft entity in the back-end for later activation * by invoking the preparation action. * * * @returns A `Promise` for asynchronous execution */ prepareDraftEntity( /** * The given binding context */ oContext: sap.ui.model.Context ): Promise; /** * Submits changes to the back-end and prepares a draft entity in the back-end for later activation by invoking * the preparation action. * * * @returns A `Promise` for asynchronous execution */ saveAndPrepareDraftEntity( /** * The given binding context */ oContext: sap.ui.model.Context, /** * Parameters to control the behavior of the request */ mParameters: Record ): Promise; /** * Submits changes to the back-end and prepares an existing draft entity in the back-end for later activation * by invoking the validation action. * * * @returns A `Promise` for asynchronous execution */ validateDraftEntity( /** * The given binding context */ oContext: sap.ui.model.Context ): Promise; } /** * Assuming state-less communication, each single data modification request (or change set in an OData $batch * request) is a "mini-transaction", which saves data to the database. The class allows you to submit changes, * invoke actions, OData CRUD operations in general, and trigger client-side validations. It ensures concurrency * control and correct ETag handling. * * The class gives access to runtime draft handling for applications. Additionally error handling capabilities * are provided to notify client implementations of error situations. The event `fatalError` is thrown, * if fatal errors occur during execution of OData requests. * * @since 1.30.0 */ class TransactionController extends sap.ui.generic.app.transaction .BaseController { /** * Constructor for a new transaction controller instance. */ constructor( /** * The OData model currently used */ oModel: sap.ui.model.odata.v2.ODataModel, /** * Optional HTTP request queue */ oQueue: /* was: sap.ui.generic.app.util.Queue */ any, /** * Optional configuration parameters */ mParams: { /** * Suppresses creation of batch groups */ noBatchGroups: boolean; }, /** * Delayed draft timer object */ oDraftMergeTimer: Object ); /** * Creates a new subclass of class sap.ui.generic.app.transaction.TransactionController 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.generic.app.transaction.BaseController.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< T, sap.ui.generic.app.transaction.TransactionController >, /** * 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.ui.generic.app.transaction.TransactionController. * * * @returns Metadata object describing this class */ static getMetadata(): sap.ui.base.Metadata; /** * Submits changes to the backend system and deletes a group of entities in the backend system. These entities * can be both draft or active entities. * * @since 1.38 * * @returns A `Promise` that receives an array with the responses of the delete requests. The `Promise` * resolves when at least one request was successful and rejects when all delete requests have been rejected/aborted. */ deleteEntities( /** * Binding contexts or paths (strings) which identify the entities */ aEntities: any[], /** * Parameters that control the behavior of the request */ mParameters: Record ): Promise; /** * Submits changes to the backend system and deletes an entity in the backend system. This entity can be * either a draft or an active entity. * * * @returns A `Promise` for asynchronous execution */ deleteEntity( /** * Binding context or path of the entity */ vEntity: sap.ui.model.Context | string, /** * Parameters that control the behavior of the request */ mParameters: Record ): Promise; /** * Frees all resources claimed during the life-time of this instance. */ destroy(): void; /** * Prepares an entity for editing. If the entity is active and draft enabled, a new draft document is created. * If not, the control is automatically returned to the caller of the method by returning a resolved promise. * * * @returns A `Promise` for asynchronous execution */ editEntity( /** * The given binding context */ oContext: sap.ui.model.Context, /** * Set to `true` to avoid the creation of a new draft when unsaved changes exist in the back-end */ bPreserveChanges?: boolean, /** * indicates whether root needs to expanded */ sRootExpand?: string ): Promise; /** * Returns the current draft controller instance. * * * @returns The draft controller instance */ getDraftController(): sap.ui.generic.app.transaction.DraftController; /** * Resets changes that have been tracked by the current instance of `sap.ui.model.odata.v2.ODataModel`. * These changes have been created by invoking the `setProperty` method of `sap.ui.model.odata.v2.ODataModel`. */ resetChanges(): void; /** * Multi edit handling. * * * @returns A `Promise` which resolves if the given promises have been executed with at least one successfully. * It rejects if all given promises were rejected. */ updateMultipleEntities( /** * contains path and data to be updated for all selected contexts. */ aContextToBeUpdated: any[] ): Promise; } } /** * Application Controller. * * @since 1.32.0 */ class ApplicationController extends sap.ui.generic.app.transaction .BaseController { /** * Constructor for application controller. */ constructor( /** * The OData model currently used */ oModel: sap.ui.model.odata.v2.ODataModel, /** * The current view */ oView: sap.ui.core.mvc.View ); /** * Creates a new subclass of class sap.ui.generic.app.ApplicationController 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.generic.app.transaction.BaseController.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< T, sap.ui.generic.app.ApplicationController >, /** * 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.ui.generic.app.ApplicationController. * * * @returns Metadata object describing this class */ static getMetadata(): sap.ui.base.Metadata; /** * Frees all resources claimed during the life-time of this instance. */ destroy(): void; /** * Executes annotated side effects for properties/navigation properties or navigation entities. If no properties * or entities are passed then the global side effect (the one without source properties and source entities) * will be executed. PreparationAction will be called if there is no global side effect annotation available * or if no trigger action is configured in the global side effect. * * * @returns A `Promise` for asynchronous execution of the action. The promise is either already resolved * (when nothing needs to be processed) or resolves when the `triggerSubmitChanges()` has been executed. */ executeSideEffects( /** * The given binding context */ oContext: sap.ui.model.Context, /** * An array of properties of the given context or properties in a 1:1 association for those side effects * shall be executed. Can be `undefined`. */ aSourceProperties: any[], /** * An array of entities (navigation properties) with the side effects that shall be executed. Can be `undefined`. */ aSourceEntities: any[], /** * If not explicitly set to `false` a global model refresh is triggered. */ bForceGlobalRefresh: boolean, /** * Parameters to control the draft preparation */ mAdditionalParameters: Record ): Promise; /** * Creates a context for an action call (OData function import) * * @since 1.38 * * @returns A `map` that contains two Promises: `context` which provides the action-specific model context * to the resolve function `result` which resolves when the success handler is called and rejects when the * error handler is called; The result of the promises is normalized in both cases, error and success. */ getNewActionContext( /** * Name of the function import that shall be triggered. */ sFunctionName: string, /** * The given binding context of the object on which the action is called. */ oEntityContext: object, /** * Parameters to control the behavior of the request. */ mParameters: Record ): Record; /** * Returns the current transaction controller instance. * * * @returns The transaction controller instance */ getTransactionController(): sap.ui.generic.app.transaction.TransactionController; /** * Invokes an action for every provided context where the properties are taken as input from. The changes * are submitted directly to the back-end. * * * @returns A `Promise` for asynchronous execution of the action */ invokeActions( /** * The name of the function or action that shall be triggered. */ sFunctionName: string, /** * The given binding contexts where the parameters of the action shall be filled from. */ aContexts: any[], /** * Parameters to control the behavior of the request. */ mParameters: { /** * Property denotes how invocations of the same action on multiple instances are grouped. This is an optional * parameter. If parameter set to "com.sap.vocabularies.UI.v1.OperationGroupingType/ChangeSet" every action * call is sent in same changeset else a new changeset. Default value of this property is set to "com.sap.vocabularies.UI.v1.OperationGroupingType/Isolated". */ operationGrouping: string; } ): Promise; /** * Notifies the application controller of a change of a property. Please note that the method is not meant * for productive use currently. It is experimental. * * * @returns A `Promise` for asynchronous execution of the action */ propertyChanged( /** * The path to the changed property */ sPath: string, /** * The binding context in which the change occurred */ oContext: object ): Promise; /** * Registers a change for the given group id. */ registerGroupChange( /** * The group id where changes were done */ sGroupId: string ): void; /** * Registers the given view with the Application Controller. */ registerView( /** * The view to be registered */ oView: sap.ui.core.mvc.View ): void; } } } } interface IUI5DefineDependencyNames { "sap/ui/generic/app/ApplicationController": undefined; "sap/ui/generic/app/library": undefined; "sap/ui/generic/app/navigation/service/NavError": undefined; "sap/ui/generic/app/navigation/service/NavigationHandler": undefined; "sap/ui/generic/app/navigation/service/PresentationVariant": undefined; "sap/ui/generic/app/navigation/service/SelectionVariant": undefined; "sap/ui/generic/app/transaction/BaseController": undefined; "sap/ui/generic/app/transaction/DraftContext": undefined; "sap/ui/generic/app/transaction/DraftController": undefined; "sap/ui/generic/app/transaction/TransactionController": undefined; } }