Clientseitig

Alle Methoden einen Dialog zu kontrollieren befinden sich im BA.Ui.Dialog.DialogManager

Diese Methode öffnet einen definierten Dialog.

public static OpenDialog(dialogIdentifier: string, dialogParameter: CustomData, customData: CustomData, onClose: Function)
  • dialogIdentifier ID des Dialogs
  • dialogParameter Parameter des Dialogs
  • customData Daten die unverändert der onClose Funktion übergeben wird.
  • onClose Funktion die aufgerufen wird, wenn der Dialog geschlossen wird.
    • Parameter 1 ist das DialogResult
    • Parameter 2 ist customData

Beispiel

let paramter: CustomData = {};
paramter.RemarkMessage = customData.RemarkMessage;
paramter.ServiceDate = customData.ServiceDate;
BA.Ui.Dialog.DialogManager.OpenDialog("BA.Training.AddServiceDialog", paramter, null,
    function (result: BA.Ui.Dialog.DialogResult) {
        if (result.ButtonId == 'okButton') {
             BA.Ui.Toast.Info(result.Data.MyValue);
        }
    }
);

Weitere Methoden

GetPopup liefert den aktuellen Dialog zurück. Wird kein Parameter übergeben, wird der oberste offene Dialog zurückgegeben. Übergibt man ein Control welches sich innerhalb eines Dialoges befindet, wird dieser Dialog zurückgegeben.

public static GetPopup(control: ASPxClientControl): BADialogPopup

DialogDefaultCancel bricht den Dialog ab (Parameter sind optional)

public static DialogDefaultCancel(button: BADialogButton, evt: ASPxClientButtonClickEventArgs)

SetDialogResult setzt das Ergebnis des Dialoges

public static SetDialogResult(popup: BADialogPopup, result: DialogResult)

DialogClose schließt einen Dialog (Optionale Übergabe des Popups oder ein Dialogbutton, zur Dialogidentifizierung)

public static DialogClose(context: ASPxClientControl)

HandleButtonServerside ruft ein Dialog Button eine Type Script Methode, kann mit Hilfe dieser Methode die Serverkomponente des Buttons ausgeführt werden.

public static HandleButtonServerside(button: BADialogButton, evt: ASPxClientButtonClickEventArgs)

Um auf ein Control im Type Script zugreifen zu können, muss man den korrekten Namen haben. Im Dialog erhalten die Namen eine Präfix. Mit dieser Methode erhält man den korrekten Namen eines Controls.

public static GetDialogControlName(control: ASPxClientControl, name: string)

IsDialogVisible gibt an ob ein Dialog sichtbar ist.

public static IsDialogVisible(control: ASPxClientControl): boolean

Zugriff auf die FormHiddenData

public static GetFormHiddenData(control: ASPxClientControl): BA.Ui.Models.FormHiddenDataModel

Serverseitig

Es ist möglich bei dem aktuelle Benutzer einen Dialog zu öffnen. Dazu nutzt man die Methode Api.ClientCommunication.OpenDialog

public void OpenDialog(String dialogIdentifier, object dialogParameter, object additionalData = null, String csCallbackFunction = "")