76 lines
1.9 KiB
JavaScript
76 lines
1.9 KiB
JavaScript
// this is not a dialog, and isn't meant to be. It is 'special' in that it will be higher in z-order than all other dialos
|
|
// it's for one-off alerts
|
|
(function (context, $) {
|
|
|
|
"use strict";
|
|
|
|
context.JK = context.JK || {};
|
|
context.JK.Banner = (function () {
|
|
var self = this;
|
|
var logger = context.JK.logger;
|
|
var $banner = $('#banner');
|
|
|
|
function showAlert(options) {
|
|
if (typeof options == 'string' || options instanceof String) {
|
|
options = {html:options};
|
|
}
|
|
options.type = 'alert'
|
|
return show(options);
|
|
}
|
|
|
|
// responsible for updating the contents of the update dialog
|
|
// as well as registering for any event handlers
|
|
function show(options) {
|
|
var text = options.text;
|
|
var html = options.html;
|
|
|
|
var newContent = null;
|
|
if (html) {
|
|
newContent = $('#banner .dialog-inner').html(html);
|
|
}
|
|
else if (text) {
|
|
newContent = $('#banner .dialog-inner').html(text);
|
|
}
|
|
else {
|
|
throw "unable to show banner for empty message";
|
|
}
|
|
|
|
if(options.type == "alert" || options.close) {
|
|
var $closeBtn = $('#banner').find('.close-btn');
|
|
|
|
$closeBtn.click(function() {
|
|
hide();
|
|
return false;
|
|
}).show();
|
|
}
|
|
|
|
$('#banner').attr('data-type', options.type).show()
|
|
$('#banner_overlay').show()
|
|
|
|
// return the core of the banner so that caller can attach event handlers to newly created HTML
|
|
return newContent;
|
|
}
|
|
|
|
function hide() {
|
|
$('#banner').hide();
|
|
$('#banner_overlay .dialog-inner').html("");
|
|
$('#banner_overlay').hide();
|
|
}
|
|
|
|
function initialize() {
|
|
|
|
return self;
|
|
}
|
|
|
|
// Expose publics
|
|
var me = {
|
|
initialize: initialize,
|
|
show: show,
|
|
showAlert: showAlert,
|
|
hide: hide
|
|
}
|
|
|
|
return me;
|
|
})();
|
|
|
|
})(window, jQuery); |