From 55cd5a292e69e6f949f26006d888b6aa101ffc64 2015-01-20 14:37:54 From: Bussonnier Matthias Date: 2015-01-20 14:37:54 Subject: [PATCH] sanitize only of text and not explicitely asked not to. also some docs. --- diff --git a/IPython/html/static/base/js/dialog.js b/IPython/html/static/base/js/dialog.js index 97aa47d..79ac239 100644 --- a/IPython/html/static/base/js/dialog.js +++ b/IPython/html/static/base/js/dialog.js @@ -8,6 +8,35 @@ define(function(require) { var IPython = require('base/js/namespace'); var $ = require('jquery'); + /** + * A wrapper around bootstrap modal for easier use + * Pass it an option dictionary with the following properties: + * + * - body : or , main content of the dialog + * if pass a it will be wrapped in a p tag and + * html element escaped, unless you specify sanitize=false + * option. + * - title : Dialog title, default to empty string. + * - buttons : dict of btn_options who keys are button label. + * see btn_options below for description + * - open : callback to trigger on dialog open. + * - destroy: + * - notebook : notebook instance + * - keyboard_manager: keyboard manager instance. + * + * Unlike bootstrap modals, the backdrop options is set by default + * to 'static'. + * + * The rest of the options are passed as is to bootstrap modals. + * + * btn_options: dict with the following property: + * + * - click : callback to trigger on click + * - class : css classes to add to button. + * + * + * + **/ var modal = function (options) { var modal = $("
") @@ -20,7 +49,7 @@ define(function(require) { var dialog_content = $("
") .addClass("modal-content") .appendTo(dialog); - if(typeof(options.body) === 'string'){ + if(typeof(options.body) === 'string' && options.sanitize !== false){ options.body = $("

").text(options.body) } dialog_content.append( @@ -35,7 +64,7 @@ define(function(require) { ).append( $("

") .addClass('modal-title') - .text(options.title || "No Title") + .text(options.title || "") ) ).append( $("
").addClass("modal-body").append(