/* ------------------------------------------------------------------------------ * * # BlockUI extension * * Demo JS code for extension_blockui.html page * * ---------------------------------------------------------------------------- */ // Setup module // ------------------------------ var BlockUi = function() { // // Setup module components // // BlockUI var _componentBlockUi = function() { if (!$().block) { console.warn('Warning - blockui.min.js is not loaded.'); return; } // Page elements // ------------------------------ // Block card $('#block-card').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { border: 0, padding: 0, backgroundColor: 'transparent' } }); }); // Block sidebar $('#block-sidebar').on('click', function() { var block = $('.sidebar-main'); $(block).block({ message: '', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#1b2024', opacity: 0.6, cursor: 'wait' }, centerY: 0, css: { top: '180px', border: 0, color: '#fff', padding: 0, backgroundColor: 'transparent' } }); }); // Block page $('#block-page').on('click', function() { $.blockUI({ message: '', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#1b2024', opacity: 0.8, zIndex: 1200, cursor: 'wait' }, css: { border: 0, color: '#fff', padding: 0, zIndex: 1201, backgroundColor: 'transparent' } }); }); // Overlays // ------------------------------ // Basic overlay $('#basic-overlay').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { border: 0, padding: 0, backgroundColor: 'transparent' } }); }); // Custom overlay $('#overlay-custom').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#0E8F92', opacity: 0.9, cursor: 'wait' }, css: { border: 0, padding: 0, color: '#fff', backgroundColor: 'transparent' } }); }); // Overlay with custom color $('#overlay-cover').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#3F9EC3', opacity: 1, cursor: 'wait' }, css: { border: 0, padding: 0, color: '#fff', backgroundColor: 'transparent' } }); }); // Overlay without text $('#no-message').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: null, timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { border: 0, padding: 0, backgroundColor: 'transparent' } }); }); // No overlay $('#no-overlay').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '', showOverlay: false, timeout: 2000, //unblock after 2 seconds css: { border: 0, padding: 15, backgroundColor: '#283133', color: '#fff', width: 46, height: 46, lineHeight: 1, '-webkit-border-radius': '2px', '-moz-border-radius': '2px', opacity: 0.95 } }); }); // Messages // ------------------------------ // Default message $('#default-message').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: 'Please wait...', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { border: 0, padding: 0, backgroundColor: 'transparent' } }); }); // Spinner only $('#spinner-only').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { border: 0, padding: 0, backgroundColor: 'transparent' } }); }); // Custom message $('#custom-message').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '  Updating data', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { border: 0, padding: '10px 15px', color: '#fff', width: 'auto', '-webkit-border-radius': 3, '-moz-border-radius': 3, backgroundColor: '#333' } }); }); // DOM message $('#dom-message').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: $(this).parent().parent().find('.blockui-message'), timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { width: 'auto', '-webkit-border-radius': 2, '-moz-border-radius': 2, padding: 0, border: 0, backgroundColor: 'transparent' } }); }); // Multiple messages $('#multiple-messages').on('click', function() { var message = $(this).parent().parent().find('.blockui-message'); var block = $(this).closest('.card'); $(block).block({ message: message, overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { width: 100, '-webkit-border-radius': 2, '-moz-border-radius': 2, border: 0, padding: 0, backgroundColor: 'transparent' }, onBlock: function() { clearTimeout(); } }); window.setTimeout(function () { message.html(' Loading') }, 0); window.setTimeout(function () { message.html(' Please wait') }, 2000); window.setTimeout(function () { message.addClass('bg-danger').html(' Load error') }, 4000); window.setTimeout(function () { $(block).unblock({ onUnblock: function(){ message.removeClass('bg-danger'); } }); }, 6000); }); // Custom message animation $('#custom-message-animation').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: $('.blockui-animation-container'), timeout: 3000, //unblock after 3 seconds overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { width: 36, height: 36, color: '#fff', border: 0, padding: 0, backgroundColor: 'transparent' } }); var animation = $(this).data("animation"); $('.blockui-animation-container').addClass("animated " + animation).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function () { $(this).removeClass("animated " + animation); }); }); // Custom message position $('#custom-position').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '', timeout: 2000, //unblock after 2 seconds centerX: 0, centerY: 0, overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { width: 16, top: '15px', left: '', right: '15px', border: 0, padding: 0, backgroundColor: 'transparent' } }); }); // Unblock options // ------------------------------ // Auto unblock $('#auto-unblock').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { border: 0, padding: 0, backgroundColor: 'transparent' } }); }); // Unblock on click $('#click-unblock').on('click', function() { var block = $(this).closest('.card'); $(block).block({ message: '', overlayCSS: { backgroundColor: '#fff', opacity: 0.8, cursor: 'wait' }, css: { width: 16, border: 0, padding: 0, backgroundColor: 'transparent' } }); $('.blockOverlay').on('click', function() { $(block).unblock(); }); }); // Callbacks // ------------------------------ // Block callback $('#block-callback').on('click', function() { $.blockUI({ message: '', fadeIn: 800, timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#1b2024', opacity: 0.8, zIndex: 1200, cursor: 'wait' }, css: { border: 0, color: '#fff', zIndex: 1201, padding: 0, backgroundColor: 'transparent' }, onBlock: function() { alert('Page is now blocked. FadeIn completed.'); } }); }); // Unblock callback $('#unblock-callback').on('click', function() { $.blockUI({ message: '', timeout: 2000, //unblock after 2 seconds overlayCSS: { backgroundColor: '#1b2024', opacity: 0.8, zIndex: 1200, cursor: 'wait' }, css: { border: 0, color: '#fff', padding: 0, zIndex: 1201, backgroundColor: 'transparent' }, onUnblock: function() { alert('Page is now unblocked. FadeOut completed.'); } }); }); // Overlay callback $('#overlay-callback').on('click', function() { $.blockUI({ message: '', overlayCSS: { backgroundColor: '#1b2024', opacity: 0.8, zIndex: 1200, cursor: 'wait' }, css: { border: 0, color: '#fff', padding: 0, zIndex: 1201, backgroundColor: 'transparent' }, onOverlayClick: $.unblockUI }); }); // Other options // ------------------------------ // Growl notification $('#growl').on('click', function() { $.blockUI({ message: $('.blockui-growl'), fadeIn: 700, fadeOut: 700, timeout: 3000000, //unblock after 3 seconds showOverlay: false, centerY: false, css: { width: '250px', backgroundColor: 'transparent', top: '20px', left: 'auto', right: '20px', border: 0, opacity: .95, zIndex: 1200, } }); }); }; // // Return objects assigned to module // return { init: function() { _componentBlockUi(); } } }(); // Initialize module // ------------------------------ document.addEventListener('DOMContentLoaded', function() { BlockUi.init(); });