Attualmente è stato implementato il codice per l'apertura di una dialog Generica con la visualizzazione di una pagina MVC, che permette di effettuare procedure personalizzate.
Richiamo della dialog con passaggio di un parametro:
var urldapassare = "../Controller?ID=" + parametro;
Q.personalDialog('' +
'<iframe src="' + urldapassare + '" height="400px" width="100% " frameBorder="0">', {
htmlEncode: false, onClose: function () {//In caso di una Grid, se eseguita una funzione, è necessario aggiornare i dati con il refresh-button della Grid
//document.getElementsByClassName("refresh-button")[2].click();
},
title: "Titolo Dialog"
});
Aggiungere nel file Serenity.CoreLib.d.ts nel namespace Q:
function nomeDialogPersonalizzata(message: string, options?: AlertOptions): void;
Aggiungere nel file Serenity.CoreLib.js nella namespace "(function (Q) {":
function nomeDialogPersonalizzata(message, options) {
var dialog;
options = $.extend({
htmlEncode: true,
okButton: Q.text('Dialogs.OkButton'),
title: Q.text('Dialogs.AlertTitle'),
onClose: null,
onOpen: null,
autoOpen: false,
dialogClass: '',
modal: true,
width: '60%',
maxWidth: '1920',
minWidth: '180',
height:'500',
resizable: false,
open: function () {
if (options.onOpen)
options.onOpen.call(this);
},
close: function () {
dialog.dialog('destroy');
if (options.onClose)
options.onClose();
}
}, options);
if (options.htmlEncode)
message = Q.htmlEncode(message);
if (!options.buttons) {
//var buttons = [];
//buttons.push({
// text: options.okButton,
// click: function () {
// dialog.dialog('close');
// }
//});
// options.buttons = buttons;
}
dialog = $('<div><div class="newDialogOpen"><\/div><\/div>')
.dialog(options)
.children('.newDialogOpen')
.html(message)
.parent()
.dialog('open');
}
Q.personalDialog = personalDialog;
In base alle propre esigenze sarà necessario modificare lo stile o funzionalità.