Dialogs Types

Frappe provides a group of standard dialogs that are very useful while coding.

Alert Dialog

Alert Dialog is used for showing non-obstructive messages.

It has 2 parameters:

  • txt: The message to be shown in the Alert Dialog
  • seconds: The duration that the message will be displayed. The default is 3 seconds .

Example

show_alert('Hi, do you have a new message', 5);

Prompt Dialog

Prompt Dialog is used for collecting data from users.

It has 4 parameters:

  • fields: a list with the fields objects
  • callback: a function to process the data in the dialog
  • title: the title of the dialog
  • primary_label: the label of the primary button

Example

frappe.prompt([
    {'fieldname': 'birth', 'fieldtype': 'Date', 'label': 'Birth Date', 'reqd': 1}
],
function(values){
    show_alert(values, 5);
},
'Age verification',
'Subscribe me'
)

Confirm Dialog

Confirm Dialog is used to get a confirmation from the user before executing an action.

It has 3 arguments:

  • mesage: The message to display in the dialog
  • onyes: The callback on positive confirmation
  • oncancel: The callback on negative confirmation

Example

frappe.confirm(
    'Are you sure to leave this page?',
    function(){
        window.close();
    },
    function(){
        show_alert('Thanks for continue here!')
    }
)

Message Print

Message Print is used for showing information to users.

It has 2 arguments:

  • message: The message to display. It can be a HTML string
  • title: The title of the dialog

Example

msgprint("<b>Server Status</b>"
    + "<hr/>"
    + "<ul>"
            + "<li><b>28%</b> Memory</li>"
            + "<li><b>12%</b> Processor</li>"
            + "<li><b>0.3%</b> Disk</li>"
    + "</ul>", 'Server Info')

Custom Dialog

You can extend and build your own custom dialogs using frappe.ui.Dialog

Example

var d = new frappe.ui.Dialog({
    'fields': [
        {'fieldname': 'ht', 'fieldtype': 'HTML'},
        {'fieldname': 'today', 'fieldtype': 'Date', 'default': frappe.datetime.nowdate()}
    ],
    primary_action: function(){
        d.hide();
        show_alert(d.get_values());
    }
});
d.fields_dict.ht.$wrapper.html('Hello World');
d.show();

On this page