Mendix Client 4 API Documentation


mxui.wm.UserInterface

The mxui.wm.UserInterface subsystem provides an API to control the UserInterface.

Methods

isRtl()

This method is called to check whether the client is in RTL (right to left) or LTR (left to right) mode.

Returns

Type Description
Boolean true if the client is in RTL mode.

newContext(widget)

This method is called to create a new context, bound to a widget.

Parameters

Name Type Description
widget Widget Optional widget to bind the context to.

Returns

Type Description
MxContext A newly created MxContext.

getContext(id, widget)

This method is called to get an existing context, or create a new context, bound to a widget.

Parameters

Name Type Description
id Number Id of the context to get.
widget Widget Optional widget to bind the context to.

Returns

Type Description
MxContext The MxContext.

destroyContext(context)

This method is called to remove a context.

Parameters

Name Type Description
context MxContext Context to destroy.

cleanContext(id, widget)

This method is called to remove the given widget from the context its listeners. If there are no listeners left, the context will be removed.

Parameters

Name Type Description
id Number Id of the context to get.
widget Widget Widget to remove from given context.

cleanWidgetContext(widget)

This method is called to remove the widget from all contexts. If there are no listeners left for a context, it will be removed.

Parameters

Name Type Description
widget Widget Widget to remove from all contexts.

downloadFile(args)

This method is called to download a file or FileDocument.

Parameters

Only one of the mxobject / url parameters should be set.

Name Type Description
args.mxobject MxObject The FileDocument to download.
args.url String The url of the file to download.
args.target String What to do with the download. “internal” shows a download dialog, while “window” opens the file in another window in the browser.
args.error Function A function to handle errors (like “file not foud”).

info(message, args)

This method is called to show an info message to the user.

Parameters

Name Type Description
message String The message to show to the user.
args.modal Boolean Whether the message should be shown blocking, or as a toaster.

warn(message, args)

This method is called to show a warn message to the user.

Parameters

Name Type Description
message String The message to show to the user.
args.modal Boolean Whether the message should be shown blocking, or as a toaster.

error(message, args)

This method is called to show an error message to the user.

Parameters

Name Type Description
message String The message to show to the user.
args.modal Boolean Whether the message should be shown blocking, or as a toaster.

exception(message)

This method is called to show a blocking exception message to the user.

Parameters

Name Type Description
message String The message to show to the user.

validations(validations)

This method is called to show validation feedback from the Runtime to the user in a blocking popup.

Parameters

Name Type Description
validations Array mendix.lib.ov validation messages.

confirm(params)

Show a dialog asking the user for confirmation. The dialog has two buttons: one for proceeding and one for cancellation.

This function does not perform any translations.

Parameters

Name Type Description
message String The confirmation message.
proceedtext String The text that should be shown on the proceed button.
canceltext String The text that should be shown on the cancel button.
callback Function Function to handle the result of the dialog. It should take a single parameter, proceed, indicating the choice of the user. It should not use this.

Example

Showing a confirmation message:

mx.ui.confirm({
    message     : "Do you want to feed your dog?",
    proceedtext : "Yes, where is her food?",
    canceltext  : "No, I'll feed her later!",
    callback    : function(proceed) {
        if (proceed) {
            alert("Feeding!");
        } else {
            alert("Not feeding!");
        }
    }
});

action(name, params, scope)

Execute a Microflow, optionally with some UI interaction.

Parameters

Name Type Description
name String The name of the Microflow to execute. (required)
params.params.applyto String What to apply the Microflow to. Can be one of “none”, “set”, “selection” or “selectionset”. “none” is the default.
params.params.guids1 Array The GUIDs to apply the Microflow to.
params.params.xpath1 String The root entity for the XPath query.
params.params.constraints String The constraints for the XPath query.
params.params.sort2 Array Sorting of XPath query results before feeding them to the Microflow.
params.params.gridid String The grid ID of the data grid which is providing the selection information.
params.context1 MxContext The context for the Microflow.
params.progress Object If set, show a progress indicator while running the Microflow.
params.progress.type String The type of progress indicator, either “popup” or “modal”.
params.progress.message String The message shown in the progress indicator.
params.caller Scriptable The caller instance, on which server instructions can be executed.
params.async Boolean Whether the Microflow should be executed asynchronously. Defaults to false.
params.callback Function Function to handle the result when successful. It should take a single parameter, response. response contains the result of the Microflow.
params.error Function Function to handle errors. It should take a single parameter, error, which is set to undefined when the server cannot be accessed, or an Object describing the error.
scope Object The scope in which to execute the callback and error callbacks.

1 One of either the guids or xpath parameters is required.

2 Required when using an XPath query to specify Microflow parameters.

Microflow parameters

The applyto parameter indicates which objects are passed to the Microflow as input.

Name Description
none Don’t pass any objects to the Microflow.
selection Pass the objects with the given GUIDs.
set Pass the objects matching the given XPath query.
selectionset Pass the objects matching the given XPath query. If gridid is set, and the corresponding grid is single selection, only the first queried object is considered.

Examples

Calling a simple Microflow, not expecting any selected entity and without a progress indicator:

mx.ui.action("MyFirstModule.PetCat", {
    callback : function(response) {
        // no MxObject expected
        alert("Just petted the cat a little");
    },
    error    : function(error) {
        alert(error.description);
    }
});

Show a progress indicator while calling a Microflow expecting a selected entity:

mx.ui.action("MyFirstModule.GetFavoriteFood", {
    progress        : {
        type        : "modal",
        message     : "Retrieving cat's favorite food..."
    },
    params          : {
        applyto     : "set",
        xpath       : "//MyFirstModule.Cat",
        constraints : "[id=281530811285515]"
    },
    callback        : function(response) {
        // expect single MxObject
        alert(response.get("manufacturer"));
    },
    error           : function(error) {
        alert(error.description);
    }
}, this);

registerTarget(name, target)

This method is called to register a target on which actions can be executed via executeAction.

Parameters

Name Type Description
name String Name of the target, which should be passed to executeAction.
target Function Function to execute actions to this target.

getTargetScope(name)

This method is called to get a executeAction target by name.

Parameters

Name Type Description
name String Name of the target.

Returns

Type Description
Function The function associated with given target name.

getLocale()

This method is called to get the current locale.

Returns

Type Description
String The current locale (eg. en_US).

getProgressIndicator(type, message)

This method is called to create a progress indicator.

Parameters

Name Type Description
type String Type of progress bar (“popup” or “modal”).
message String Message to show in the progress bar.

Returns

Type Description
Object The progress indicator, which implements a “start”, “stop”, and “error” method.

hasTranslation(key)

This method is called to chech whether translations are available for given key.

Parameters

Name Type Description
key String The key to find in the translation map. Normally this would be the declaredClass.

Returns

Type Description
Boolean Whether translations are available for given key.

translate(key, text)

This method is called to translate a system text into the current locale.

Parameters

Name Type Description
key String The key to find in the translation map. Normally this would be the declaredClass.
text String The name of the system text to translate.

Returns

Type Description
String The translation of the given system text in the current locale.

startup(callback)

This method is called to startup the subsystem.

Parameters

Name Type Description
callback Function The function to be called when startup is finished.

shutdown()

This method is called to shutdown the subsystem.

isLoaded()

This method is called to check whether the subsystem has been started.

Returns

Type Description
Boolean true if the subsystem has been started.