From 7945128829807c2a4cee690913b0d345551fb90c Mon Sep 17 00:00:00 2001 From: Chris Hallberg <crhallberg@gmail.com> Date: Thu, 31 Jul 2014 14:40:13 -0400 Subject: [PATCH] New Lightbox displayError logic to add a close button if only an alert is in the Lightbox. --- themes/bootstrap3/js/lightbox.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/themes/bootstrap3/js/lightbox.js b/themes/bootstrap3/js/lightbox.js index e769354b121..f208903b7d9 100644 --- a/themes/bootstrap3/js/lightbox.js +++ b/themes/bootstrap3/js/lightbox.js @@ -152,7 +152,7 @@ var Lightbox = { * This function changes the content of the lightbox to a message with a close button */ confirm: function(message) { - this.changeContent('<div class="alert alert-info">'+message+'</div><button class="btn" onClick="Lightbox.close()">'+vufindString['close']+'</button>'); + this.changeContent('<div class="alert alert-info">'+message+'</div><button class="btn btn-default" onClick="Lightbox.close()">'+vufindString['close']+'</button>'); }, /** * Regexes a piece of html to find an error alert @@ -164,7 +164,7 @@ var Lightbox = { var fi = html.indexOf('<div class="alert alert-danger">'); if(fi > -1) { var li = html.indexOf('</div>', fi+31); - Lightbox.displayError(html.substring(fi+31, li)); + Lightbox.displayError(html.substring(fi+31, li).replace(/^[\s\>\<]+|[\s\>\<]+$/g, '')); } else { success(html); } @@ -174,10 +174,15 @@ var Lightbox = { */ displayError: function(message) { var alert = $('#modal .modal-body .alert'); - if(alert.length > 0) { + var html = $.parseHTML($('#modal .modal-body').html()); + // Page with alert already present + if(alert.length > 0 && html.length > 1) { $(alert).html(message); - } else if($('#modal .modal-body').html() == vufindString.loading+"...") { - $('#modal .modal-body').html('<div class="alert alert-danger">'+message+'</div><button class="btn" onClick="Lightbox.close()">'+vufindString['close']+'</button>'); + // Empty or alert only, change to message with button + } else if($('#modal .modal-body').html() == vufindString.loading+"..." + || (html.length == 1 && $(html).hasClass('alert-danger'))) { + Lightbox.changeContent('<div class="alert alert-danger">'+message+'</div><button class="btn btn-default" onClick="Lightbox.close()">'+vufindString['close']+'</button>'); + // Page without alert } else { $('#modal .modal-body').prepend('<div class="alert alert-danger">'+message+'</div>'); } -- GitLab