diff --git a/assets/dist/jquery.loader.css b/assets/dist/jquery.loader.css new file mode 100644 index 00000000..8826a55d --- /dev/null +++ b/assets/dist/jquery.loader.css @@ -0,0 +1,73 @@ +/* .loader +-----------------------------------------------------------------------------------------*/ +.loader { + height: 40px; + left: 50%; + margin: -20px 0 0 -20px; + overflow: hidden; + position: absolute; + right: 0; + top: 50%; + width: 40px; + z-index: 1999; +} +.loader .loader-load { + background: #000000 url(loader.gif) no-repeat 50% 50%; + -webkit-border-radius: 5px; + -khtml-border-radius: 5px; + -moz-border-radius: 5px; + -ms-border-radius: 5px; + -o-border-radius: 5px; + border-radius: 5px; + cursor: pointer; + height: 40px; + left: 50%; + margin: -20px 0 0 -20px; + -webkit-opacity: 0.8; + -khtml-opacity: 0.8; + -moz-opacity: 0.8; + -ms-opacity: 0.8; + -o-opacity: 0.8; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + opacity: 0.8; + overflow: hidden; + position: absolute; + top: 50%; + width: 40px; + z-index: 1000; +} +.loader .loader-overlay { + background: #000; + bottom: 0; + display: none; + height: 100%; + left: 0; + -webkit-opacity: 0.6; + -khtml-opacity: 0.6; + -moz-opacity: 0.6; + -ms-opacity: 0.6; + -o-opacity: 0.6; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; + filter: alpha(opacity=60); + opacity: 0.6; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.loader.hide { + display: none !important; +} +.loader.overlay { + bottom: 0; + height: 100%; + left: 0; + margin: 0; + right: 0; + top: 0; + width: 100%; +} +.loader.overlay .loader-overlay { + display: block; +} diff --git a/assets/dist/jquery.loader.js b/assets/dist/jquery.loader.js new file mode 100644 index 00000000..6bf3b3b0 --- /dev/null +++ b/assets/dist/jquery.loader.js @@ -0,0 +1,111 @@ +/** + * jQuery.loader Plugin + * @author Stéphan Zych + * @copyriht 2010-2011 Stéphan Zych + * @license New BSD License + */ + +(function ($) { + "use strict"; + + + var render = function (template, data) { + for (var k in data) { + template = template.replace(new RegExp('{' + k + '}', 'g'), data[k]); + } + + return template; + }; // render + + var Loader = function () { + var defaults = { + className: 'loader', + + tpl: '
', + + delay: 200, + loader: true, + overlay: true, + + onHide: function () {}, + onShow: function () {} + }; // defaults + + var init = function (oParams) { + return this.each(function () { + defaults = $.extend({}, defaults, oParams); + + var $self = $(this), $loader; + + $self.append(render(defaults.tpl, defaults)); + $loader = $('> .' + defaults.className, $self); + + if (defaults.overlay) { + $loader.addClass('overlay'); + } + + if (defaults.loader) { + $('.' + defaults.className + '-load', $loader) + .on('click', function () { + $self.loader('hide', defaults.onHide); + }); + } + }); + }; // init + + var show = function (oParams) { + defaults = $.extend({}, defaults, oParams); + + var self = this, $self = $(self), $loader = $('> .' + defaults.className + ':first', $self); + + if (!$loader.length) { + init.call(self, oParams); + $loader = $('> .' + defaults.className + ':first', $self); + } + + $loader.fadeIn(defaults.delay, function () { + $loader.removeClass('hide'); + + defaults.onShow(defaults); + }); + }; // show + + var hide = function (onHide) { + defaults = $.extend({}, defaults, {onHide: onHide}); + + var self = this, $self = $(self), $loader = $('> .' + defaults.className + ':first', $self); + + if ($loader.length) { + $loader.fadeOut(defaults.delay, function () { + $loader.addClass('hide'); + + defaults.onHide(defaults); + }); + } + }; // hide + + return { + init: init, + show: show, + hide: hide + }; + }; // Loader + + + $.fn.loader = function (options) { + if (!$.data(this, 'loader')) { + $.data(this, 'loader', new Loader(this, options)); + } + + var plugin = $.data(this, 'loader'); + + if (plugin[options]) { + return plugin[options].apply(this, Array.prototype.slice.call(arguments, 1)); + } else if (typeof options === 'object' || !options) { + return plugin.init.apply(this, arguments); + } else { + $.error('Method "' + arguments[0] + '" does not exist in $.loader plugin!'); + } + }; // $.fn.loader + +} (jQuery)); // jQuery.loader() by Stéphan Zych (monkeymonk.be) \ No newline at end of file diff --git a/assets/dist/loader.gif b/assets/dist/loader.gif new file mode 100644 index 00000000..01586176 Binary files /dev/null and b/assets/dist/loader.gif differ