Subversion-Projekte lars-tiefland.cienc

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
5 lars 1
(function() {
2
  var $;
3
 
4
  $ = jQuery;
5
 
6
  $.bootstrapGrowl = function(message, options) {
7
    var $alert, css, offsetAmount;
8
    options = $.extend({}, $.bootstrapGrowl.default_options, options);
9
    $alert = $("<div>");
10
    $alert.attr("class", "bootstrap-growl alert");
11
    if (options.type) {
12
      $alert.addClass("alert-" + options.type);
13
    }
14
    if (options.allow_dismiss) {
15
      $alert.addClass("alert-dismissible");
16
      $alert.append("<button  class=\"close\" data-dismiss=\"alert\" type=\"button\"><span aria-hidden=\"true\">&times;</span><span class=\"sr-only\">Close</span></button>");
17
    }
18
    $alert.append(message);
19
    if (options.top_offset) {
20
      options.offset = {
21
        from: "top",
22
        amount: options.top_offset
23
      };
24
    }
25
    offsetAmount = options.offset.amount;
26
    $(".bootstrap-growl").each(function() {
27
      return offsetAmount = Math.max(offsetAmount, parseInt($(this).css(options.offset.from)) + $(this).outerHeight() + options.stackup_spacing);
28
    });
29
    css = {
30
      "position": (options.ele === "body" ? "fixed" : "absolute"),
31
      "margin": 0,
32
      "z-index": "9999",
33
      "display": "none"
34
    };
35
    css[options.offset.from] = offsetAmount + "px";
36
    $alert.css(css);
37
    if (options.width !== "auto") {
38
      $alert.css("width", options.width + "px");
39
    }
40
    $(options.ele).append($alert);
41
    switch (options.align) {
42
      case "center":
43
        $alert.css({
44
          "left": "50%",
45
          "margin-left": "-" + ($alert.outerWidth() / 2) + "px"
46
        });
47
        break;
48
      case "left":
49
        $alert.css("left", "20px");
50
        break;
51
      default:
52
        $alert.css("right", "20px");
53
    }
54
    $alert.fadeIn();
55
    if (options.delay > 0) {
56
      $alert.delay(options.delay).fadeOut(function() {
57
        return $(this).alert("close");
58
      });
59
    }
60
    return $alert;
61
  };
62
 
63
  $.bootstrapGrowl.default_options = {
64
    ele: "body",
65
    type: "info",
66
    offset: {
67
      from: "top",
68
      amount: 20
69
    },
70
    align: "right",
71
    width: 250,
72
    delay: 4000,
73
    allow_dismiss: true,
74
    stackup_spacing: 10
75
  };
76
 
77
}).call(this);