Current state
This commit is contained in:
248
public/legacy/assets/plugins/jnotify/jNotify.jquery.js
Normal file
248
public/legacy/assets/plugins/jnotify/jNotify.jquery.js
Normal file
@@ -0,0 +1,248 @@
|
||||
/************************************************************************
|
||||
*************************************************************************
|
||||
@Name : jNotify - jQuery Plugin
|
||||
@Revison : 2.1
|
||||
@Date : 01/2011
|
||||
@Author: ALPIXEL - (www.myjqueryplugins.com - www.alpixel.fr)
|
||||
@Support: FF, IE7, IE8, MAC Firefox, MAC Safari
|
||||
@License : Open Source - MIT License : http://www.opensource.org/licenses/mit-license.php
|
||||
|
||||
**************************************************************************
|
||||
*************************************************************************/
|
||||
(function($){
|
||||
|
||||
$.jNotify = {
|
||||
defaults: {
|
||||
/** VARS - OPTIONS **/
|
||||
autoHide : true, // Notify box auto-close after 'TimeShown' ms ?
|
||||
clickOverlay : false, // if 'clickOverlay' = false, close the notice box on the overlay click ?
|
||||
MinWidth : 200, // min-width CSS property
|
||||
TimeShown : 1500, // Box shown during 'TimeShown' ms
|
||||
ShowTimeEffect : 200, // duration of the Show Effect
|
||||
HideTimeEffect : 200, // duration of the Hide effect
|
||||
LongTrip : 15, // in pixel, length of the move effect when show and hide
|
||||
HorizontalPosition : 'right', // left, center, right
|
||||
VerticalPosition : 'bottom', // top, center, bottom
|
||||
ShowOverlay : true, // show overlay behind the notice ?
|
||||
ColorOverlay : '#000', // color of the overlay
|
||||
OpacityOverlay : 0.3, // opacity of the overlay
|
||||
|
||||
/** METHODS - OPTIONS **/
|
||||
onClosed : null,
|
||||
onCompleted : null
|
||||
},
|
||||
|
||||
/*****************/
|
||||
/** Init Method **/
|
||||
/*****************/
|
||||
init:function(msg, options, id) {
|
||||
opts = $.extend({}, $.jNotify.defaults, options);
|
||||
|
||||
/** Box **/
|
||||
if($("#"+id).length == 0)
|
||||
$Div = $.jNotify._construct(id, msg);
|
||||
|
||||
// Width of the Brower
|
||||
WidthDoc = parseInt($(window).width());
|
||||
HeightDoc = parseInt($(window).height());
|
||||
|
||||
// Scroll Position
|
||||
ScrollTop = parseInt($(window).scrollTop());
|
||||
ScrollLeft = parseInt($(window).scrollLeft());
|
||||
|
||||
// Position of the jNotify Box
|
||||
posTop = $.jNotify.vPos(opts.VerticalPosition);
|
||||
posLeft = $.jNotify.hPos(opts.HorizontalPosition);
|
||||
|
||||
// Show the jNotify Box
|
||||
if(opts.ShowOverlay && $("#jOverlay").length == 0)
|
||||
$.jNotify._showOverlay($Div);
|
||||
|
||||
$.jNotify._show(msg);
|
||||
},
|
||||
|
||||
/*******************/
|
||||
/** Construct DOM **/
|
||||
/*******************/
|
||||
_construct:function(id, msg) {
|
||||
$Div =
|
||||
$('<div id="'+id+'"/>')
|
||||
.css({opacity : 0,minWidth : opts.MinWidth})
|
||||
.html(msg)
|
||||
.appendTo('body');
|
||||
return $Div;
|
||||
},
|
||||
|
||||
/**********************/
|
||||
/** Postions Methods **/
|
||||
/**********************/
|
||||
vPos:function(pos) {
|
||||
switch(pos) {
|
||||
case 'top':
|
||||
var vPos = ScrollTop + parseInt($Div.outerHeight(true)/2);
|
||||
break;
|
||||
case 'center':
|
||||
var vPos = ScrollTop + (HeightDoc/2) - (parseInt($Div.outerHeight(true))/2);
|
||||
break;
|
||||
case 'bottom':
|
||||
var vPos = ScrollTop + HeightDoc - parseInt($Div.outerHeight(true));
|
||||
break;
|
||||
}
|
||||
return vPos;
|
||||
},
|
||||
|
||||
hPos:function(pos) {
|
||||
switch(pos) {
|
||||
case 'left':
|
||||
var hPos = ScrollLeft;
|
||||
break;
|
||||
case 'center':
|
||||
var hPos = ScrollLeft + (WidthDoc/2) - (parseInt($Div.outerWidth(true))/2);
|
||||
break;
|
||||
case 'right':
|
||||
var hPos = ScrollLeft + WidthDoc - parseInt($Div.outerWidth(true));
|
||||
break;
|
||||
}
|
||||
return hPos;
|
||||
},
|
||||
|
||||
/*********************/
|
||||
/** Show Div Method **/
|
||||
/*********************/
|
||||
_show:function(msg) {
|
||||
$Div
|
||||
.css({
|
||||
top: posTop,
|
||||
left : posLeft
|
||||
});
|
||||
switch (opts.VerticalPosition) {
|
||||
case 'top':
|
||||
$Div.animate({
|
||||
top: posTop + opts.LongTrip,
|
||||
opacity:1
|
||||
},opts.ShowTimeEffect,function(){
|
||||
if(opts.onCompleted) opts.onCompleted();
|
||||
});
|
||||
if(opts.autoHide)
|
||||
$.jNotify._close();
|
||||
else
|
||||
$Div.css('cursor','pointer').click(function(e){
|
||||
$.jNotify._close();
|
||||
});
|
||||
break;
|
||||
case 'center':
|
||||
$Div.animate({
|
||||
opacity:1
|
||||
},opts.ShowTimeEffect,function(){
|
||||
if(opts.onCompleted) opts.onCompleted();
|
||||
});
|
||||
if(opts.autoHide)
|
||||
$.jNotify._close();
|
||||
else
|
||||
$Div.css('cursor','pointer').click(function(e){
|
||||
$.jNotify._close();
|
||||
});
|
||||
break;
|
||||
case 'bottom' :
|
||||
$Div.animate({
|
||||
top: posTop - opts.LongTrip,
|
||||
opacity:1
|
||||
},opts.ShowTimeEffect,function(){
|
||||
if(opts.onCompleted) opts.onCompleted();
|
||||
});
|
||||
if(opts.autoHide)
|
||||
$.jNotify._close();
|
||||
else
|
||||
$Div.css('cursor','pointer').click(function(e){
|
||||
$.jNotify._close();
|
||||
});
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
_showOverlay:function(el){
|
||||
var overlay =
|
||||
$('<div id="jOverlay" />')
|
||||
.css({
|
||||
backgroundColor : opts.ColorOverlay,
|
||||
opacity: opts.OpacityOverlay
|
||||
})
|
||||
.appendTo('body')
|
||||
.show();
|
||||
|
||||
if(opts.clickOverlay)
|
||||
overlay.click(function(e){
|
||||
e.preventDefault();
|
||||
opts.TimeShown = 0;
|
||||
$.jNotify._close();
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
_close:function(){
|
||||
switch (opts.VerticalPosition) {
|
||||
case 'top':
|
||||
if(!opts.autoHide)
|
||||
opts.TimeShown = 0;
|
||||
$Div.stop(true, true).delay(opts.TimeShown).animate({
|
||||
top: posTop-opts.LongTrip,
|
||||
opacity:0
|
||||
},opts.HideTimeEffect,function(){
|
||||
$(this).remove();
|
||||
if(opts.ShowOverlay && $("#jOverlay").length > 0)
|
||||
$("#jOverlay").remove();
|
||||
if(opts.onClosed) opts.onClosed();
|
||||
});
|
||||
break;
|
||||
case 'center':
|
||||
if(!opts.autoHide)
|
||||
opts.TimeShown = 0;
|
||||
$Div.stop(true, true).delay(opts.TimeShown).animate({
|
||||
opacity:0
|
||||
},opts.HideTimeEffect,function(){
|
||||
$(this).remove();
|
||||
if(opts.ShowOverlay && $("#jOverlay").length > 0)
|
||||
$("#jOverlay").remove();
|
||||
if(opts.onClosed) opts.onClosed();
|
||||
});
|
||||
break;
|
||||
case 'bottom' :
|
||||
if(!opts.autoHide)
|
||||
opts.TimeShown = 0;
|
||||
$Div.stop(true, true).delay(opts.TimeShown).animate({
|
||||
top: posTop+opts.LongTrip,
|
||||
opacity:0
|
||||
},opts.HideTimeEffect,function(){
|
||||
$(this).remove();
|
||||
if(opts.ShowOverlay && $("#jOverlay").length > 0)
|
||||
$("#jOverlay").remove();
|
||||
if(opts.onClosed) opts.onClosed();
|
||||
});
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
_isReadable:function(id){
|
||||
if($('#'+id).length > 0)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/** Init method **/
|
||||
jNotify = function(msg,options) {
|
||||
if($.jNotify._isReadable('jNotify'))
|
||||
$.jNotify.init(msg,options,'jNotify');
|
||||
};
|
||||
|
||||
jSuccess = function(msg,options) {
|
||||
if($.jNotify._isReadable('jSuccess'))
|
||||
$.jNotify.init(msg,options,'jSuccess');
|
||||
};
|
||||
|
||||
jError = function(msg,options) {
|
||||
if($.jNotify._isReadable('jError'))
|
||||
$.jNotify.init(msg,options,'jError');
|
||||
};
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user