123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546 |
- /* ------------------------------------------------------------------------------
- *
- * # 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<span class="font-weight-semibold">Please wait...</span>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<span class="font-weight-semibold"><i class="icon-spinner4 spinner mr-2"></i> Updating data</span>',
- 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('<i class="icon-spinner4 spinner mt-1"></i> <span class="font-weight-semibold d-block mt-2">Loading</span>')
- }, 0);
- window.setTimeout(function () {
- message.html('<i class="icon-spinner4 spinner mt-1"></i> <span class="font-weight-semibold d-block mt-2">Please wait</span>')
- }, 2000);
- window.setTimeout(function () {
- message.addClass('bg-danger').html('<i class="icon-warning mt-1"></i> <span class="font-weight-semibold d-block mt-2">Load error</span>')
- }, 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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: '<i class="icon-spinner4 spinner"></i>',
- 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();
- });
|