Class: ClientAPI¶
The ClientAPI is a developer-facing class that provides access to a context (page or control, for example). It can be passed to a rule to provide access to the context of that rule, e.g. the associated binding and UI element as well as other useful data.
Hierarchy¶
-
ClientAPI
Implements¶
Summary¶
Constructors¶
Properties¶
Class Properties¶
Inherited Properties¶
Currently none inherited from the parent class(es).
Accessors¶
Class Accessors¶
Inherited Accessors¶
Currently none inherited from the parent class(es).
Methods¶
Class Methods¶
- _clientAPIProps
- _getExecuteSource
- base64StringToBinary
- binaryToBase64String
- callFunction
- convertFilterCriteriaArrayToJSONString
- convertJSONStringToFilterCriteriaArray
- count
- create
- createFilterCriteria
- createLinkSpecifierProxy
- deleteODataCacheImages
- dismissActivityIndicator
- downloadInProgressForPage
- downloadInProgressForReadLink
- evaluateTargetPath
- evaluateTargetPathForAPI
- executeAction
- formatBase64String
- formatCurrency
- formatDate
- formatDatetime
- formatNumber
- formatPercentage
- formatScientific
- formatTime
- getActionResult
- getAppClientData
- getAppEventData
- getAppName
- getAppearanceMode
- getAvailableThemes
- getBindingObject
- getCircularImage
- getClientData
- getDefinitionValue
- getGlobalDefinition
- getGlobalSideDrawerControlProxy
- getIconTextImage
- getLanguage
- getLogger
- getMobileServiceAppId
- getMobileServiceEndpointUrl
- getODataCacheImagePath
- getODataProvider
- getPageDefinition
- getPasscodeSource
- getPendingDownload
- getReadLink
- getRegion
- getRegions
- getSAPPassportHeaderValue
- getSupportedLanguages
- getTheme
- getVersionInfo
- initializeLogger
- isAppInMultiUserMode
- isCurrentPage
- isDemoMode
- isMediaLocal
- localizeText
- read
- sendMobileServiceRequest
- sendRequest
- setApplicationIconBadgeNumber
- setDebugSettings
- setLanguage
- setRegion
- setTheme
- showActivityIndicator
- updateProgressBanner
- Create
- setMdkWindows
Inherited Methods¶
Currently none inherited from the parent class(es).
Constructors¶
constructor¶
+ new ClientAPI(_context
: IContext): ClientAPI
Parameters:
Name | Type |
---|---|
_context |
IContext |
Returns: ClientAPI
Properties¶
Protected
_context¶
• _context: IContext
Accessors¶
actionResults¶
• getter
Access to the action results from the client data
Returns: any
binding¶
• getter
Access to the context's binding property
Returns: Object
currentPage¶
• getter
Get the topmost page in the navigation stack
Returns: any
filterTypeEnum¶
• getter
Returns enum for specifying filterType in createFilterCriteria API. Has two values, Filter and Sorter.
Returns: FilterType
mdkWindows¶
• getter
Returns: IMDKWindows
nativescript¶
• getter
Returns: object
-
appSettingsModule: any
-
applicationModule: any = application
-
connectivityModule: any
-
fileSystemModule: any = fileSystem
-
platformModule: any
-
uiDialogsModule: any
-
utilsModule: any
Methods¶
Protected
_clientAPIProps¶
▸ _clientAPIProps(): IClientAPIProps
Returns: IClientAPIProps
Protected
_getExecuteSource¶
▸ _getExecuteSource(): ExecuteSource
Returns: ExecuteSource
base64StringToBinary¶
▸ base64StringToBinary(base64
: string): Promise‹any›
Implementation of IClientAPI
This method converts base64 string to binary data
Parameters:
Name | Type | Description |
---|---|---|
base64 |
string | base64 string |
Returns: Promise‹any›
a promise with a binary data once it is resolved
binaryToBase64String¶
▸ binaryToBase64String(binary
: any): Promise‹string›
Implementation of IClientAPI
This method converts binary data to a base64 string.
Parameters:
Name | Type | Description |
---|---|---|
binary |
any | The binary data as a Uint8Array. |
Returns: Promise‹string›
a promise with a string once it is resolved
callFunction¶
▸ callFunction(serviceName
: string, functionInfo
: object, headers?
: Object): Promise‹any›
Invoke an OData function import. Returns a Promise which resolves to the result(if existing) of the operation
example
const functionName = 'UpdateCustomerDetail';
const serviceName = '/MyMDKApp/Services/MyOData.service';
const parameters = {
FirstName: "Lewis",
LastName: "Black",
Emails: [
"lewisblack@example.com",
"lewisblack@google.com"
],
Address: {
Street: "187 Suffolk Ln.",
City: "Boise"
}
}
let functionInfo = { Name: functionName, Parameters: parameters };
return context.callFunction(serviceName, functionInfo);
Parameters:
▪ serviceName: string
service name
▪ functionInfo: object
function information
Name | Type |
---|---|
Name |
string |
Parameters? |
object |
▪Optional
headers: Object
optional -- request headers
Returns: Promise‹any›
returns a Promise which resolves to the result (if existing) of the operation
convertFilterCriteriaArrayToJSONString¶
▸ convertFilterCriteriaArrayToJSONString(filters
: Array‹FilterCriteria›): string
Implementation of IClientAPI
Convert array of FilterCriteria to JSON string, which can be restored back later using convertJSONStringToFilterCriteriaArray()
.
example
const json = clientAPI.convertFilterCriteriaArrayToJSONString(sectionedTable.filters);
Parameters:
Name | Type | Description |
---|---|---|
filters |
Array‹FilterCriteria› | array of FilterCriteria, e.g. filters of a sectioned table. |
Returns: string
the JSON string
convertJSONStringToFilterCriteriaArray¶
▸ convertJSONStringToFilterCriteriaArray(jsonString
: string): Array‹FilterCriteria›
Implementation of IClientAPI
Convert a JSON string returned by from convertFilterCriteriaArrayToJSONString()
to an array of FilterCriteria.
example
filters = clientAPI.convertJSONStringToFilterCriteriaArray(jsonString);
Parameters:
Name | Type | Description |
---|---|---|
jsonString |
string | JSON string returned from convertFilterCriteriaArrayToJSONString(). |
Returns: Array‹FilterCriteria›
the array of FilterCriteria
count¶
▸ count(serviceName
: string, entitySet
: string, queryOptions?
: string, headers?
: Object, requestOptions?
: Object): Promise‹any›
Implementation of IClientAPI
Perform a count on an entity set.
example
context.count('/MyMDKApp/Services/MyOData.service', 'Customers').then((count) => {
console.log(count);
});
Parameters:
Name | Type | Description |
---|---|---|
serviceName |
string | service name |
entitySet |
string | entityset name |
queryOptions? |
string | query options |
headers? |
Object | request headers |
requestOptions? |
Object | request options |
Returns: Promise‹any›
returns a Promise which resolves to the result of the operation
create¶
▸ create(serviceName
: string, entitySet
: string, properties
: object, createLinks
: ILinkSpecifierProxy[], headers?
: object, requestOptions?
: object): Promise‹any›
Perform an operation to create OData entity. Returns a Promise of the operation result.
Parameters:
▪ serviceName: string
service name
▪ entitySet: string
entity set name
▪ properties: object
an object to store the properties using key/value pair
Name | Type |
---|---|
key |
string |
value |
any |
▪ createLinks: ILinkSpecifierProxy[]
list of readlinks
▪Optional
headers: object
request headers
Name | Type |
---|---|
key |
string |
value |
any |
▪Optional
requestOptions: object
request options
Name | Type |
---|---|
key |
string |
value |
any |
Returns: Promise‹any›
createFilterCriteria¶
▸ createFilterCriteria(filterType
: FilterType, name
: string, caption
: string, filterItems
: Array‹object›, isFilterItemsComplex?
: boolean, label?
: string, filterItemsDisplayValue?
: Array‹string›): FilterCriteria
Create filter criteria for non-supported controls(except Filter & Sorter formcell) to be used in Filter page.
example
let filterCriteria = clientAPI.createFilterCriteria(clientAPI.filterTypeEnum.Filter, 'Property', undefined, ['Value1', 'Value2'], true);
Parameters:
Name | Type | Description |
---|---|---|
filterType |
FilterType | filterTypeEnum value (Filter or Sorter). |
name |
string | Property name on which the filter is applied. If FilterCriteria is complex query, name will be used as CustomQueryGroup to match with FastFilter items in FilterFeedbackBar. |
caption |
string | Name of the control. |
filterItems |
Array‹object› | Array of display value of the filter items. Default is null. |
isFilterItemsComplex? |
boolean | True if the filterItems contains logical/lambda operators, default is false. If set to true, name and caption properties are ignored. |
label? |
string | label to be displayed beside display value when the item is being shown as selected item on filter feedback bar. Default is empty string. |
filterItemsDisplayValue? |
Array‹string› | - |
Returns: FilterCriteria
the created FilterCriteria
createLinkSpecifierProxy¶
▸ createLinkSpecifierProxy(property
: string, entitySet
: string, queryOptions?
: string, readLink?
: string): ILinkSpecifierProxy
Implementation of IClientAPI
Create LinkSpecifierProxy to be consumed by odata link action. one of queryOptions or readLink is required.
Parameters:
Name | Type | Description |
---|---|---|
property |
string | property name |
entitySet |
string | entityset name |
queryOptions? |
string | query options |
readLink? |
string | readlink name |
Returns: ILinkSpecifierProxy
deleteODataCacheImages¶
▸ deleteODataCacheImages(): void
Delete OData cache images Note: This function is for iOS & Android only
Returns: void
dismissActivityIndicator¶
▸ dismissActivityIndicator(id?
: number): void
Implementation of IClientAPI
Dismiss activity indicator
Parameters:
Name | Type | Description |
---|---|---|
id? |
number | The id of the activity indicator to be dismissed. If no id is provided, the top activity indicator will be dismissed. Using ids ensures that the right text will be shown at all times if multiple indicators can be displayed, for example due to chained actions. |
Returns: void
downloadInProgressForPage¶
▸ downloadInProgressForPage(page
: string): boolean
Implementation of IClientAPI
Determine if a dowload is in progress for this page
Parameters:
Name | Type |
---|---|
page |
string |
Returns: boolean
downloadInProgressForReadLink¶
▸ downloadInProgressForReadLink(readLink
: string): boolean
Implementation of IClientAPI
Determine if a dowload is in progress for this readLink
Parameters:
Name | Type |
---|---|
readLink |
string |
Returns: boolean
evaluateTargetPath¶
▸ evaluateTargetPath(path
: string): any
Implementation of IClientAPI
Evaluate a target path and return the value from the resulting context.
Parameters:
Name | Type | Description |
---|---|---|
path |
string | the target path to be evaluated |
Returns: any
the value from the resulting context If an element is on the context, consider that the final value. Otherwise use binding.
evaluateTargetPathForAPI¶
▸ evaluateTargetPathForAPI(path
: string): IClientAPI
Implementation of IClientAPI
Evaluate a target path and return the ClientAPI instance which encapsulates the result
Parameters:
Name | Type | Description |
---|---|---|
path |
string | the target path to be evaluated. Cannot be undefined or empty |
Returns: IClientAPI
a ClientAPI instance holding the result of target path evaluation, which can vary from a simple string to a view representation.
executeAction¶
▸ executeAction(actionPath
: string): Promise‹IActionResult›
Implementation of IClientAPI
Execute an action. To ensure that the application waits for the action to complete, you must return the Promise returned by this method as the result of the rule. Not doing this may cause the action binding and pressed item to be reset before the action completes.
example
AppUpdateFailureMessage.action
{
"Message": "Failed to update application - {#ActionResults:AppUpdate/error}",
"Title": "Update Failed",
"Duration": 7,
"IsWarning": true,
"Animated": true,
"_Type": "Action.Type.BannerMessage"
}
clientAPI.executeAction('/MyApp/Actions/AppUpdateFailureMessage.action');
return clientAPI.getPageProxy().executeAction({
"Name": "/MyApp/Actions/AppUpdateFailureMessage.action",
"Properties": {
"Duration": 0,
"Message": message
}
});
Parameters:
Name | Type | Description |
---|---|---|
actionPath |
string | the action path |
Returns: Promise‹IActionResult›
formatBase64String¶
▸ formatBase64String(base64
: string, contentType
: string): string
Implementation of IClientAPI
This method formats MDK base64 string with content type
Parameters:
Name | Type | Description |
---|---|---|
base64 |
string | base64 string |
contentType |
string | base64 content type like "image/jpeg", "application/pdf" |
Returns: string
formatted base64 string.
formatCurrency¶
▸ formatCurrency(value
: number, currencyCode
: string, customLocale?
: string, customOptions?
: any): string
Implementation of IClientAPI
This method is to format number into currency display format according to selected locale
Parameters:
Name | Type | Description |
---|---|---|
value |
number | numeric value to be formatted into currency display format |
currencyCode |
string | currency code to format |
customLocale? |
string | custom locale to be used in formatting the value |
customOptions? |
any | custom options to be used in formatting the value. The available options are:
Example: {maximumFractionDigits:2,useGrouping:true} |
Returns: string
formatted number in currency display format
formatDate¶
▸ formatDate(date
: Date, customLocale?
: string, customTimeZone?
: string, customOptions?
: any): string
Implementation of IClientAPI
This method is to format date object into locale Date string.
Parameters:
Name | Type | Description |
---|---|---|
date |
Date | date value to be formatted into locale string. Accepted values are datetime object, datetime in UTC string, timestamp number, datetimeoffset string |
customLocale? |
string | custom locale to be used in formatting the value |
customTimeZone? |
string | custom time zone to be used in formatting the value, must be a valid time zone name e.g. UTC, GMT+8, Europe/Berlin |
customOptions? |
any | custom options (in JSON object format) for formatting the value. Currently the supported key is 'format' with the following possible values:
{ "format": "long" } . |
Returns: string
formatted string
formatDatetime¶
▸ formatDatetime(date
: Date, customLocale?
: string, customTimeZone?
: string, customOptions?
: any): string
Implementation of IClientAPI
This method is to format date object into locale DateTime string
Parameters:
Name | Type | Description |
---|---|---|
date |
Date | date value to be formatted into locale string. Accepted values are datetime object, datetime in UTC string, timestamp number, datetimeoffset string |
customLocale? |
string | custom locale to be used in formatting the value |
customTimeZone? |
string | custom time zone to be used in formatting the value. Must be a valid time zone name e.g. UTC, GMT+8, Europe/Berlin |
customOptions? |
any | custom options (in JSON object format) for formatting the value. Currently the supported key is 'format' with the following possible values:
{ "format": "full" } . |
Returns: string
formatted string
formatNumber¶
▸ formatNumber(value
: number, customLocale?
: string, customOptions?
: any): string
Implementation of IClientAPI
This method is to format number according to selected locale
Parameters:
Name | Type | Description |
---|---|---|
value |
number | numeric value to be displayed in format according to selected locale |
customLocale? |
string | custom locale to be used in formatting the value |
customOptions? |
any | custom options to be used in formatting the value. The available options are:
Example: {maximumFractionDigits:2,useGrouping:true} |
Returns: string
formatted number
formatPercentage¶
▸ formatPercentage(value
: number, customLocale?
: string, customOptions?
: any): string
Implementation of IClientAPI
This method is to format number to into percent display format
Parameters:
Name | Type | Description |
---|---|---|
value |
number | numeric value to be formatted into percent display string |
customLocale? |
string | custom locale to be used in formatting the value |
customOptions? |
any | custom options to be used in formatting the value. The available options are:
Example: {maximumFractionDigits:2,useGrouping:true} |
Returns: string
formatted number in percentage
formatScientific¶
▸ formatScientific(value
: number, customLocale?
: string, customOptions?
: any): string
Implementation of IClientAPI
This method is to format scientific style number according to selected locale
Parameters:
Name | Type | Description |
---|---|---|
value |
number | numeric value to be displayed in scientific style according to selected locale |
customLocale? |
string | custom locale to be used in formatting the value |
customOptions? |
any | custom options to be used in formatting the value: The available options are:
Example: {maximumFractionDigits:2,useGrouping:true} |
Returns: string
formatted number
formatTime¶
▸ formatTime(date
: Date, customLocale?
: string, customTimeZone?
: string, customOptions?
: any): string
Implementation of IClientAPI
This method is to format date object into locale Time string
Parameters:
Name | Type | Description |
---|---|---|
date |
Date | date value to be formatted into locale string. Accepted values are datetime object, datetime in UTC string, timestamp number, datetimeoffset string |
customLocale? |
string | custom locale to be used in formatting the value |
customTimeZone? |
string | custom time zone to be used in formatting the value. Must be a valid time zone name e.g. UTC, GMT+8, Europe/Berlin |
customOptions? |
any | custom options (in JSON object format) for formatting the value. Currently the supported key is 'format' with the following possible values:
{ "format": "long" } . |
Returns: string
formatted string
getActionResult¶
▸ getActionResult(key
: string): IActionResult
Implementation of IClientAPI
Get the action result stored under the unique key
example
var actionResult = pageProxy.getActionResult('CheckCamera');
if (actionResult) {
pageProxy.setActionBinding({ 'IsCameraReady': actionResult.data });
}
Parameters:
Name | Type |
---|---|
key |
string |
Returns: IActionResult
getAppClientData¶
▸ getAppClientData(): IClientData
Implementation of IClientAPI
Get the Application context client data object. This starts out as a plain JavaScript object, and can be modified to hold application state. Can only be accessed for IClientAPI instances associated with a UI element, because that guarantees that the data will last for the lifetime of that element.
example
let appClientData = clientAPI.getAppClientData();
let myData = appClientData.MyData;
Returns: IClientData
getAppEventData¶
▸ getAppEventData(): any
Implementation of IClientAPI
Get the data which provides additional information about an app event such as an app launch or exit, if such an event just occurred.
Returns: any
getAppName¶
▸ getAppName(): string
Implementation of IClientAPI
This method is to get the value of _Name property for client application
example
const appName = clientAPI.getAppName();
Returns: string
getAppearanceMode¶
▸ getAppearanceMode(): "light" | "dark"
Implementation of IClientAPI
This method is to get current ui appearance of the app.
Returns: "light" | "dark"
return the current ui appearance as light or dark
getAvailableThemes¶
▸ getAvailableThemes(): string[]
Implementation of IClientAPI
This method is to get available themes in app settings.
Returns: string[]
return available themes in array
getBindingObject¶
▸ getBindingObject(): Object
Implementation of IClientAPI
Get the current context's binding object
deprecated
- use the binding accessor instead
Returns: Object
getCircularImage¶
▸ getCircularImage(base64EncodedImageStr
: string): string
Implementation of IClientAPI
Converts a regular rectangular image into a circular one.
Parameters:
Name | Type | Description |
---|---|---|
base64EncodedImageStr |
string | The Base64 image string which is to be made circular |
Returns: string
A Base64 string of the circular image, this image will be in PNG format.
getClientData¶
▸ getClientData(): IClientData
Implementation of IClientAPI
Get the client data object. This starts out as a plain JavaScript object and can be modified to hold application state. Can only be accessed by the IClientAPI instances associated with a UI element, because that guarantees that the data will last for the lifetime of that element.
example
let value = clientAPI.getClientData()["Property1"];
Returns: IClientData
getDefinitionValue¶
▸ getDefinitionValue(target
: string): Promise‹any›
Implementation of IClientAPI
Return the value for given definition.
Parameters:
Name | Type | Description |
---|---|---|
target |
string | : any valid definition like rule/action path/global path/binding/targetpath etc |
Returns: Promise‹any›
Promise resolution.
getGlobalDefinition¶
▸ getGlobalDefinition(globalPath
: string): any
Implementation of IClientAPI
Get the global definition for the specified path
Parameters:
Name | Type |
---|---|
globalPath |
string |
Returns: any
getGlobalSideDrawerControlProxy¶
▸ getGlobalSideDrawerControlProxy(): ISideDrawerControlProxy
Get the global side drawer control proxy
Returns: ISideDrawerControlProxy
getIconTextImage¶
▸ getIconTextImage(iconText
: string, width
: number, height
: number, isCircular
: boolean, stylesJSON?
: string): string
Creates an Image out of text provided in the iconText parameter. A max of two letters can be displayed on the image.
example
const image = clientAPI.getIconTextImage('AB', 24, 24, false);
Parameters:
Name | Type | Description |
---|---|---|
iconText |
string | Text that is to be used for generating the IconTextImage |
width |
number | Width of the image |
height |
number | Heght of the image |
isCircular |
boolean | Decides whether the image should be circular in shape |
stylesJSON? |
string | FontSize, FontColor and BackgroundColor can be given in a Json to style the IconTextImage |
Returns: string
a Base64 string of IconTextImage.
getLanguage¶
▸ getLanguage(): string
Implementation of IClientAPI
This method is to get current app language from app settings.
Returns: string
app language
getLogger¶
▸ getLogger(): LoggerManager
Implementation of IClientAPI
Get the singleton instance of the LoggerManager. If it has not been initialized yet, it throws exception
Returns: LoggerManager
getMobileServiceAppId¶
▸ getMobileServiceAppId(): string
Implementation of IClientAPI
This method is to get AppId used for application in SAP Mobile Services.
Returns: string
getMobileServiceEndpointUrl¶
▸ getMobileServiceEndpointUrl(): string
Implementation of IClientAPI
This method is to get Endpoint Url of connection to application in SAP Mobile Services.
Returns: string
getODataCacheImagePath¶
▸ getODataCacheImagePath(path
: string, mimeType?
: string): Promise‹string›
Implementation of IClientAPI
Get OData cache image path Note: This function is for iOS & Android only.
example
function getBookImageAttachment(context) {
const pageProxy = context.getPageProxy();
const readLink = context.binding['@odata.readLink'];
return pageProxy.getODataCacheImagePath('/MDKApp/Services/Bookshop.service/${readLink}/image', 'image/png').then((imagePath) => {
if (imagePath) {
return [context.createAttachmentEntry(imagePath, 'BookImages', 'image', readLink, '/MDKApp/Services/Bookshop.service')];
} else {
return [];
}
});
}
Parameters:
Name | Type | Description |
---|---|---|
path |
string | OData direct image rendering path |
mimeType? |
string | Mime type, which is used to determine the image file extension if the image type can not be resolved from the path. |
Returns: Promise‹string›
OData cache image path
getODataProvider¶
▸ getODataProvider(serviceName
: string): ODataProviderProxy
Implementation of IClientAPI
Get OData provider based on service name
Parameters:
Name | Type |
---|---|
serviceName |
string |
Returns: ODataProviderProxy
getPageDefinition¶
▸ getPageDefinition(pagePath
: string): any
Implementation of IClientAPI
Get Page metadata definition for the specified path as JSON object.
Parameters:
Name | Type |
---|---|
pagePath |
string |
Returns: any
getPasscodeSource¶
▸ getPasscodeSource(): number
Implementation of IClientAPI
Get the passcode source
Returns: number
passcode source
- 0 - no passcode or unknown
- 1 - user
- 2 - device (iOS only)
- 3 - device and user (Android only)
getPendingDownload¶
▸ getPendingDownload(page
: string): any
Implementation of IClientAPI
This method delgates to the AppSettingsManager to determine if the current page has a pending download.
Parameters:
Name | Type | Description |
---|---|---|
page |
string | page object path |
Returns: any
returns a pending download for this page, which is a JSON action binding associated with the download. Otherwise undefined.
getReadLink¶
▸ getReadLink(path
: string): string
Implementation of IClientAPI
get the current context's binding's read link if any. Undefined otherwise
Parameters:
Name | Type | Description |
---|---|---|
path |
string | target path into the binding |
Returns: string
getRegion¶
▸ getRegion(): string
Implementation of IClientAPI
This method is to get current app region from app settings.
Returns: string
app region
getRegions¶
▸ getRegions(): Object
Implementation of IClientAPI
This method is to get list of regions
Returns: Object
list of regions in key value pairs
getSAPPassportHeaderValue¶
▸ getSAPPassportHeaderValue(componentName
: string, action
: string, traceFlag
: string, componentType
: string, prevComponentName?
: string, userId?
: string): string
Implementation of IClientAPI
Get SAP Passport header value
example
const headerValue = clientAPI.getSAPPassportHeaderValue('MDK', 'action', 'SAPTraceLevel_Permission', 'SFSF');
Parameters:
Name | Type | Description |
---|---|---|
componentName |
string | Name of the initial component. Default to 'MDK' if empty or null. |
action |
string | Name of executed action. Default to 'HTTP_Request' if empty. |
traceFlag |
string | Trace configuration. Accepted values are: StatisticsOnly, SAPTraceLevel_SQL, SAPTraceLevel_Buffer, SAPTraceLevel_Enqueu, SAPTraceLevel_RFC, SAPTraceLevel_Permission, SAPTraceLevel_Free, SAPTraceLevel_CFunction, DSR_ABAP_Trace_Flag, SAPTraceLevel_ABAPCondens0, SAPTraceLevel_ABAPCondens1, DSR_SAT_Trace_Flag, ESP_WebService_Flag, HTTP, TRCLVL_None, TRCLVL_Low, TRCLVL_Medium, TRCLVL_High. Default is 'TRCLVL_Low' if empty or null. |
componentType |
string | Type of initial component. Accepted values are: Undefined, Webas, J2EE, Trex, ICM, Gateway, CPIC, Browser, TraceLib, DotNet, Eclipse, PI_For_SAP_Sender, SCP_For_NonSAP_Sender, PI_For_NonSAP_Sender, SAP_Partner, SCP_Request_Or_Determination_Later_In_Processing, S4, SFSF, Ariba, Concur, Fieldglass, Callidus, BYD, IBP, Hybris, SMB_B1, Industry_Cloud, Leonardo, Customer_Checkout, CoPilot. Default to 'Undefined' if empty or null. |
prevComponentName? |
string | Optional. Name of previous component. Default to initial component name if unspecified. |
userId? |
string | Optional. ID of user who is processing the request. Default is ' |
Returns: string
a string of SAP Passport value to be used on request header. The header name to be used is "SAP-PASSPORT".
getSupportedLanguages¶
▸ getSupportedLanguages(): Object
Implementation of IClientAPI
This method is to get list of supported languages
Returns: Object
list of supported languages in key value pairs
getTheme¶
▸ getTheme(): string
Implementation of IClientAPI
This method is to get current theme from app settings.
Returns: string
return the current theme
getVersionInfo¶
▸ getVersionInfo(): Object
Implementation of IClientAPI
Get the versions of application, definitions, SDK and etc.
Returns: Object
It returns an array of key/value pairs to represent the versions for different components. iOS app and Android app may have different components and versions.
iOS app may include the following keys:
- "SAPCommon"
- "SAPFiori"
- "SAPFioriFlows"
- "SAPFoundation"
- "SAPOfflineOData"
- "SAPOData"
Android app may include the following keys:
- "com.sap.cloud.android:foundation"
- "com.sap.cloud.android:onboarding"
- "com.sap.cloud.android:fiori"
- "com.sap.cloud.android:odata"
- "com.sap.cloud.android:offline-odata"
Web application may include the following keys:
- "@ui5/webcomponents Version"
- "ui5-webcomponents-mdk Version"
initializeLogger¶
▸ initializeLogger(fileName
: any, maxFileSize
: any): void
Initializes the LoggerManager and adds the log file handlers
Parameters:
Name | Type | Default | Description |
---|---|---|---|
fileName |
any | undefined | Optional, File name of the local log file on the client device. If missing, default value is ClientLog.txt |
maxFileSize |
any | undefined | Optional, Max file size before rollover of the local log file on the client device. If missing, default value is 5MB |
Returns: void
isAppInMultiUserMode¶
▸ isAppInMultiUserMode(): Boolean
Implementation of IClientAPI
Determine if the application is in single or multi user mode.
Returns: Boolean
isCurrentPage¶
▸ isCurrentPage(pageName
: string): boolean
Implementation of IClientAPI
Determine if the page is the topmost page in the navigation stack
Parameters:
Name | Type |
---|---|
pageName |
string |
Returns: boolean
isDemoMode¶
▸ isDemoMode(): Boolean
Implementation of IClientAPI
Determine if it is in demo mode
Returns: Boolean
isMediaLocal¶
▸ isMediaLocal(serviceName
: string, entitySet
: string, readLink
: string): Promise‹boolean›
Implementation of IClientAPI
Get whether or not the media object for the supplied readLink is available in local
Parameters:
Name | Type | Description |
---|---|---|
serviceName |
string | service name |
entitySet |
string | entityset name |
readLink |
string | readlnk name |
Returns: Promise‹boolean›
a promise with a boolean result once it is resolved
localizeText¶
▸ localizeText(key
: string, dynamicParams?
: string[]): string
Implementation of IClientAPI
This method is to localize text
Parameters:
Name | Type | Description |
---|---|---|
key |
string | key of text to be localized |
dynamicParams? |
string[] | - |
Returns: string
localized text
read¶
▸ read(serviceName
: string, entitySet
: string, properties
: string[], queryOptions?
: string, headers?
: Object, requestOptions?
: Object): Promise‹any›
Implementation of IClientAPI
Perform a query on an entity set. Returns a Promise which resolves to the result of the operation
example
const queryOptions = 'test_query_options';
const headers = { slug: 'slug' };
const requestOptions = { option: 'option' };
clientApi.read('TestODataService', 'test_entity_set', ['prop1', 'prop2'], queryOptions, headers, requestOptions).then(result => {
...
});
Parameters:
Name | Type | Description |
---|---|---|
serviceName |
string | service name |
entitySet |
string | entityset name |
properties |
string[] | list of properties to be read |
queryOptions? |
string | query optins |
headers? |
Object | request headers |
requestOptions? |
Object | request options |
Returns: Promise‹any›
returns a Promise which resolves to the result of the operation
sendMobileServiceRequest¶
▸ sendMobileServiceRequest(path
: string, params?
: any): Promise‹any›
Implementation of IClientAPI
Send a request to application's SAP Mobile Services
deprecated
- use the new sendRequest API
Parameters:
Name | Type |
---|---|
path |
string |
params? |
any |
Returns: Promise‹any›
sendRequest¶
▸ sendRequest(path
: string, params?
: any): Promise‹IHttpResponse›
Implementation of IClientAPI
This method is to send a request to application's SAP Mobile Services.
Example of the params
parameter:
{
method: "<string>",
header: {
"<key1>": "<value as string>",
"<key2>": "<and so on>",
},
body: "<string>"
}
Parameters:
Name | Type | Description |
---|---|---|
path |
string | Relative path of request via application's SAP Mobile Services. |
params? |
any | Optional. An object consists of method , header , and body of request.Note: If params is not given, request is set as GET method by default. See description above for the example. method is string representing the HTTP Method to use. Supported value for methods are: GET, HEAD, POST, PUT, DELETE, PATCH and OPTIONS.header should be an object with key-value pairbody should be request body String, Binary, FormData, JSON object or Array. header . |
Returns: Promise‹IHttpResponse›
Returns a Http response object
setApplicationIconBadgeNumber¶
▸ setApplicationIconBadgeNumber(badge
: number): void
Implementation of IClientAPI
Set the application icon badge number Note: This function is for iOS only
Parameters:
Name | Type | Description |
---|---|---|
badge |
number | the number to set |
Returns: void
setDebugSettings¶
▸ setDebugSettings(debugODataProvider
: boolean, tracingEnabled
: boolean, categories
: string[]): void
Implementation of IClientAPI
Client API to enable/override the DebugSettings during runtime
example
clientAPI.setDebugSettings(true, true, [ 'mdk.trace.odata', 'mdk.trace.profiling' ]);
Parameters:
Name | Type | Default | Description |
---|---|---|---|
debugODataProvider |
boolean | false | boolean to add console logger to the OData provider set to Debug level |
tracingEnabled |
boolean | false | boolean to turns on tracing (execution time) for rules, actions, and so on. |
categories |
string[] | [] | array of tracing categories to enable the console log based on categories. |
Returns: void
setLanguage¶
▸ setLanguage(languageKey
: string): void
Implementation of IClientAPI
This method is to set app language into app settings.
Parameters:
Name | Type | Description |
---|---|---|
languageKey |
string | language key |
Returns: void
setRegion¶
▸ setRegion(region
: string): void
Implementation of IClientAPI
This method is to set app region into app settings. Different from the region specifier in SetLanguage, setRegion only affects formatting, e.g. date and number formats.
Parameters:
Name | Type | Description |
---|---|---|
region |
string | region |
Returns: void
setTheme¶
▸ setTheme(newTheme
: string): boolean
Implementation of IClientAPI
This method is to set theme into app settings and apply for application. Application will restart from main page, with new theme effect.
Parameters:
Name | Type | Description |
---|---|---|
newTheme |
string | theme name |
Returns: boolean
return set theme result in boolean
showActivityIndicator¶
▸ showActivityIndicator(text?
: string): number
Implementation of IClientAPI
Show activity indicator with specified text
Parameters:
Name | Type | Description |
---|---|---|
text? |
string | The text to be shown |
Returns: number
The id which can be used to dismiss the activity indicator
updateProgressBanner¶
▸ updateProgressBanner(message
: string): void
Implementation of IClientAPI
Update an existing progress banner with new text. If no progress banner action is in progress, no banner will be displayed.
Parameters:
Name | Type | Description |
---|---|---|
message |
string | The text to show on the progress banner |
Returns: void
Static
Create¶
▸ Create(context
: IContext): ClientAPI
Create an instance of ClientAPI or its extended classes such as PageProxy, ControlProxy.
Parameters:
Name | Type | Description |
---|---|---|
context |
IContext | an object with IContext type to represent the UI element |
Returns: ClientAPI
Static
setMdkWindows¶
▸ setMdkWindows(mdkWindows
: IMDKWindows): void
Parameters:
Name | Type |
---|---|
mdkWindows |
IMDKWindows |
Returns: void