Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / ui / new_ui / ui / javascripts / foundation / foundation.alerts.js @ 0105abee

History | View | Annotate | Download (1.1 kB)

1 b3c1328b Olga Brani
/*jslint unparam: true, browser: true, indent: 2 */
2 b3c1328b Olga Brani
3 b3c1328b Olga Brani
;(function ($, window, document, undefined) {
4 b3c1328b Olga Brani
  'use strict';
5 b3c1328b Olga Brani
6 b3c1328b Olga Brani
  Foundation.libs.alerts = {
7 b3c1328b Olga Brani
    name : 'alerts',
8 b3c1328b Olga Brani
9 b3c1328b Olga Brani
    version : '4.0.0',
10 b3c1328b Olga Brani
11 b3c1328b Olga Brani
    settings : {
12 b3c1328b Olga Brani
      speed: 300, // fade out speed
13 b3c1328b Olga Brani
      callback: function (){}
14 b3c1328b Olga Brani
    },
15 b3c1328b Olga Brani
16 b3c1328b Olga Brani
    init : function (scope, method, options) {
17 b3c1328b Olga Brani
      this.scope = scope || this.scope;
18 b3c1328b Olga Brani
19 b3c1328b Olga Brani
      if (typeof method === 'object') {
20 b3c1328b Olga Brani
        $.extend(true, this.settings, method);
21 b3c1328b Olga Brani
      }
22 b3c1328b Olga Brani
23 b3c1328b Olga Brani
      if (typeof method != 'string') {
24 b3c1328b Olga Brani
        if (!this.settings.init) this.events();
25 b3c1328b Olga Brani
26 b3c1328b Olga Brani
        return this.settings.init;
27 b3c1328b Olga Brani
      } else {
28 b3c1328b Olga Brani
        return this[method].call(this, options);
29 b3c1328b Olga Brani
      }
30 b3c1328b Olga Brani
    },
31 b3c1328b Olga Brani
32 b3c1328b Olga Brani
    events : function () {
33 b3c1328b Olga Brani
      var self = this;
34 b3c1328b Olga Brani
35 b3c1328b Olga Brani
      $(this.scope).on('click.fndtn.alerts', '[data-alert] a.close', function (e) {
36 b3c1328b Olga Brani
        e.preventDefault();
37 b3c1328b Olga Brani
        $(this).closest("[data-alert]").fadeOut(self.speed, function () {
38 b3c1328b Olga Brani
          $(this).remove();
39 b3c1328b Olga Brani
          self.settings.callback();
40 b3c1328b Olga Brani
        });
41 b3c1328b Olga Brani
      });
42 b3c1328b Olga Brani
43 b3c1328b Olga Brani
      this.settings.init = true;
44 b3c1328b Olga Brani
    },
45 b3c1328b Olga Brani
46 b3c1328b Olga Brani
    off : function () {
47 b3c1328b Olga Brani
      $(this.scope).off('.fndtn.alerts');
48 b3c1328b Olga Brani
    }
49 b3c1328b Olga Brani
  };
50 b3c1328b Olga Brani
}(Foundation.zj, this, this.document));