app/assets/javascripts/foundation/foundation.alerts.js
/*jslint unparam: true, browser: true, indent: 2 */
;(function ($, window, document, undefined) {
'use strict';
Foundation.libs.alerts = {
name : 'alerts',
version : '4.3.2',
settings : {
animation: 'fadeOut',
speed: 300, // fade out speed
callback: function (){}
},
init : function (scope, method, options) {
this.scope = scope || this.scope;
Foundation.inherit(this, 'data_options');
if (typeof method === 'object') {
$.extend(true, this.settings, method);
}
if (typeof method !== 'string') {
if (!this.settings.init) { this.events(); }
return this.settings.init;
} else {
return this[method].call(this, options);
}
},
events : function () {
var self = this;
$(this.scope).on('click.fndtn.alerts', '[data-alert] a.close', function (e) {
var alertBox = $(this).closest("[data-alert]"),
settings = $.extend({}, self.settings, self.data_options(alertBox));
e.preventDefault();
alertBox[settings.animation](settings.speed, function () {
$(this).remove();
settings.callback();
});
});
this.settings.init = true;
},
off : function () {
$(this.scope).off('.fndtn.alerts');
},
reflow : function () {}
};
}(Foundation.zj, this, this.document));