1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- (function() {
- var $;
- $ = jQuery;
- $.bootstrapGrowl = function(message, options) {
- var $alert, css, offsetAmount;
- options = $.extend({}, $.bootstrapGrowl.default_options, options);
- $alert = $("<div>");
- $alert.attr("class", "bootstrap-growl alert");
- if (options.type) {
- $alert.addClass("alert-" + options.type);
- }
- if (options.allow_dismiss) {
- $alert.addClass("alert-dismissible");
- $alert.append("<button class=\"close\" data-dismiss=\"alert\" type=\"button\"><span aria-hidden=\"true\">×</span><span class=\"sr-only\">Close</span></button>");
- }
- $alert.append(message);
- if (options.top_offset) {
- options.offset = {
- from: "top",
- amount: options.top_offset
- };
- }
- offsetAmount = options.offset.amount;
- $(".bootstrap-growl").each(function() {
- return offsetAmount = Math.max(offsetAmount, parseInt($(this).css(options.offset.from)) + $(this).outerHeight() + options.stackup_spacing);
- });
- css = {
- "position": (options.ele === "body" ? "fixed" : "absolute"),
- "margin": 0,
- "z-index": "9999",
- "display": "none"
- };
- css[options.offset.from] = offsetAmount + "px";
- $alert.css(css);
- if (options.width !== "auto") {
- $alert.css("width", options.width + "px");
- }
- $(options.ele).append($alert);
- switch (options.align) {
- case "center":
- $alert.css({
- "left": "50%",
- "margin-left": "-" + ($alert.outerWidth() / 2) + "px"
- });
- break;
- case "left":
- $alert.css("left", "20px");
- break;
- default:
- $alert.css("right", "20px");
- }
- $alert.fadeIn();
- if (options.delay > 0) {
- $alert.delay(options.delay).fadeOut(function() {
- return $(this).alert("close");
- });
- }
- return $alert;
- };
- $.bootstrapGrowl.default_options = {
- ele: "body",
- type: "info",
- offset: {
- from: "top",
- amount: 20
- },
- align: "right",
- width: 250,
- delay: 4000,
- allow_dismiss: true,
- stackup_spacing: 10
- };
- }).call(this);
|