Skip to content

Instantly share code, notes, and snippets.

@devudit
Created November 27, 2017 12:32
Embed
What would you like to do?
Create modal window in drupal 8 using Drupal.dialog function
/** EXAMPLE 1 ***/
var $myDialog = $('<div>My dialog text</div>').appendTo('body');
Drupal.dialog($myDialog, {
title: 'A title',
buttons: [{
text: 'Close',
click: function() {
$(this).dialog('close');
}
}]
}).showModal();
/** EXAMPLE WITH AJAX **/
Drupal.ajax({
url: 'some/path',
success: function(response) {
var $myDialog = $('<div>' + response.data + '</div>').appendTo('body');
Drupal.dialog($myDialog, {title: 'Some title'}).showModal();
}
}).execute();
@ilechcod
Copy link

Nice, but one can't possibly reproduce the contents of a whole form inside the $myDialog variable. Isn't there a way of pointing this dialog to a route or url instead?

Secondly, I am trying to open an off-canvas dialog and this doesn't work for that. Pls how do I do that? My requirements need me to open that off-canvas when a checkbox is enabled...

@dalin-
Copy link

dalin- commented Nov 22, 2021

@ilechcod Yes. This is just how to work with simple HTML snippets.

If you want to do AJAX, you probably want:
https://www.drupal.org/docs/drupal-apis/ajax-api/ajax-dialog-boxes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment