1 Star 3 Fork 0

hu_bird/code-generator

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
jquery.growl.js 7.41 KB
一键复制 编辑 原始数据 按行查看 历史
hu_bird 提交于 2021-03-12 22:48 . * 新增项目和依赖文件
// Generated by CoffeeScript 1.10.0
/*
jQuery Growl
Copyright 2015 Kevin Sylvestre
1.3.2
*/
(function() {
"use strict";
var $, Animation, Growl,
bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
$ = jQuery;
Animation = (function() {
function Animation() {}
Animation.transitions = {
"webkitTransition": "webkitTransitionEnd",
"mozTransition": "mozTransitionEnd",
"oTransition": "oTransitionEnd",
"transition": "transitionend"
};
Animation.transition = function($el) {
var el, ref, result, type;
el = $el[0];
ref = this.transitions;
for (type in ref) {
result = ref[type];
if (el.style[type] != null) {
return result;
}
}
};
return Animation;
})();
Growl = (function() {
Growl.settings = {
namespace: 'growl',
duration: 3200,
close: "×",
location: "default",
style: "default",
size: "medium",
delayOnHover: true
};
Growl.growl = function(settings) {
if (settings == null) {
settings = {};
}
this.initialize();
return new Growl(settings);
};
Growl.initialize = function() {
return $("body:not(:has(#growls))").append('<div id="growls" />');
};
function Growl(settings) {
if (settings == null) {
settings = {};
}
this.container = bind(this.container, this);
this.content = bind(this.content, this);
this.html = bind(this.html, this);
this.$growl = bind(this.$growl, this);
this.$growls = bind(this.$growls, this);
this.animate = bind(this.animate, this);
this.remove = bind(this.remove, this);
this.dismiss = bind(this.dismiss, this);
this.present = bind(this.present, this);
this.waitAndDismiss = bind(this.waitAndDismiss, this);
this.cycle = bind(this.cycle, this);
this.close = bind(this.close, this);
this.click = bind(this.click, this);
this.mouseLeave = bind(this.mouseLeave, this);
this.mouseEnter = bind(this.mouseEnter, this);
this.unbind = bind(this.unbind, this);
this.bind = bind(this.bind, this);
this.render = bind(this.render, this);
this.settings = $.extend({}, Growl.settings, settings);
this.$growls().attr('class', this.settings.location);
this.render();
}
Growl.prototype.render = function() {
var $growl;
$growl = this.$growl();
this.$growls().append($growl);
if (this.settings.fixed) {
this.present();
} else {
this.cycle();
}
};
Growl.prototype.bind = function($growl) {
if ($growl == null) {
$growl = this.$growl();
}
$growl.on("click", this.click);
if (this.settings.delayOnHover) {
$growl.on("mouseenter", this.mouseEnter);
$growl.on("mouseleave", this.mouseLeave);
}
return $growl.on("contextmenu", this.close).find("." + this.settings.namespace + "-close").on("click", this.close);
};
Growl.prototype.unbind = function($growl) {
if ($growl == null) {
$growl = this.$growl();
}
$growl.off("click", this.click);
if (this.settings.delayOnHover) {
$growl.off("mouseenter", this.mouseEnter);
$growl.off("mouseleave", this.mouseLeave);
}
return $growl.off("contextmenu", this.close).find("." + this.settings.namespace + "-close").off("click", this.close);
};
Growl.prototype.mouseEnter = function(event) {
var $growl;
$growl = this.$growl();
return $growl.stop(true, true);
};
Growl.prototype.mouseLeave = function(event) {
return this.waitAndDismiss();
};
Growl.prototype.click = function(event) {
if (this.settings.url != null) {
event.preventDefault();
event.stopPropagation();
return window.open(this.settings.url);
}
};
Growl.prototype.close = function(event) {
var $growl;
event.preventDefault();
event.stopPropagation();
$growl = this.$growl();
return $growl.stop().queue(this.dismiss).queue(this.remove);
};
Growl.prototype.cycle = function() {
var $growl;
$growl = this.$growl();
return $growl.queue(this.present).queue(this.waitAndDismiss());
};
Growl.prototype.waitAndDismiss = function() {
var $growl;
$growl = this.$growl();
return $growl.delay(this.settings.duration).queue(this.dismiss).queue(this.remove);
};
Growl.prototype.present = function(callback) {
var $growl;
$growl = this.$growl();
this.bind($growl);
return this.animate($growl, this.settings.namespace + "-incoming", 'out', callback);
};
Growl.prototype.dismiss = function(callback) {
var $growl;
$growl = this.$growl();
this.unbind($growl);
return this.animate($growl, this.settings.namespace + "-outgoing", 'in', callback);
};
Growl.prototype.remove = function(callback) {
this.$growl().remove();
return typeof callback === "function" ? callback() : void 0;
};
Growl.prototype.animate = function($element, name, direction, callback) {
var transition;
if (direction == null) {
direction = 'in';
}
transition = Animation.transition($element);
$element[direction === 'in' ? 'removeClass' : 'addClass'](name);
$element.offset().position;
$element[direction === 'in' ? 'addClass' : 'removeClass'](name);
if (callback == null) {
return;
}
if (transition != null) {
$element.one(transition, callback);
} else {
callback();
}
};
Growl.prototype.$growls = function() {
return this.$_growls != null ? this.$_growls : this.$_growls = $('#growls');
};
Growl.prototype.$growl = function() {
return this.$_growl != null ? this.$_growl : this.$_growl = $(this.html());
};
Growl.prototype.html = function() {
return this.container(this.content());
};
Growl.prototype.content = function() {
return "<div class='" + this.settings.namespace + "-close'>" + this.settings.close + "</div>\n<div class='" + this.settings.namespace + "-title'>" + this.settings.title + "</div>\n<div class='" + this.settings.namespace + "-message'>" + this.settings.message + "</div>";
};
Growl.prototype.container = function(content) {
return "<div class='" + this.settings.namespace + " " + this.settings.namespace + "-" + this.settings.style + " " + this.settings.namespace + "-" + this.settings.size + "'>\n " + content + "\n</div>";
};
return Growl;
})();
this.Growl = Growl;
$.growl = function(options) {
if (options == null) {
options = {};
}
return Growl.growl(options);
};
$.growl.error = function(options) {
var settings;
if (options == null) {
options = {};
}
settings = {
title: "Error!",
style: "error"
};
return $.growl($.extend(settings, options));
};
$.growl.notice = function(options) {
var settings;
if (options == null) {
options = {};
}
settings = {
title: "Notice!",
style: "notice"
};
return $.growl($.extend(settings, options));
};
$.growl.warning = function(options) {
var settings;
if (options == null) {
options = {};
}
settings = {
title: "Warning!",
style: "warning"
};
return $.growl($.extend(settings, options));
};
}).call(this);
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/hu_bird/code-generator.git
git@gitee.com:hu_bird/code-generator.git
hu_bird
code-generator
code-generator
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385