/*! * Block Page v1.0.0 * www.souza.inf.br/ * Copyright (c) 2021, Souza Consultória Tecnologica */ function blockPage(create, info, sec, target, message, color, type, size, message_spinner){ var color_spinner = ''; var color_alert = ''; var spinner = ''; var spinner_small = ''; var spinner_size = ''; var spinner_message = ''; /** Verifica se o tipo de spinner foi informado */ if(type === 'circle'){ spinner = 'border'; /** Verifica se o tamanho do spinner foi infromado */ if(size == 'sm'){// Samll => pequeno spinner_small = 'spinner-border-sm'; }else{ spinner_size = 'style="width: 3rem; height: 3rem;"'; } }else if(type === 'ball'){ spinner = 'grow'; /** Verifica se o tamanho do spinner foi infromado */ if(size == 'sm'){// Samll => pequeno spinner_small = 'spinner-grow-sm'; }else{ spinner_size = 'style="width: 3rem; height: 3rem;"'; } }else{//Spinner padrão spinner = 'grow'; /** Verifica se o tamanho do spinner foi infromado */ if(size == 'sm'){// Samll => pequeno spinner_small = 'spinner-grow-sm'; }else{ spinner_size = 'style="width: 3rem; height: 3rem;"'; } } /** Verifica se a cor foi informada */ if(!color){ color_spinner = 'text-primary'; color_alert = 'alert-primary'; }else{ switch(color) { case 'blue': color_spinner = 'text-primary'; color_alert = 'alert-primary'; break; case 'grey': color_spinner = 'text-secondary'; color_alert = 'alert-secondary'; break; case 'green': color_spinner = 'text-success'; color_alert = 'alert-success'; break; case 'red': color_spinner = 'text-danger'; color_alert = 'alert-danger'; break; case 'yellow': color_spinner = 'text-warning'; color_alert = 'alert-warning'; break; case 'cyan': color_spinner = 'text-info'; color_alert = 'alert-info'; break; case 'white': color_spinner = 'text-light'; color_alert = 'alert-light'; break; case 'black': color_spinner = 'text-dark'; color_alert = 'alert-dark'; break; case 'random': /** Temas disponiveis */ var a = ['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark']; /** Embaralha os temas */ var color_rand = shuffle(a); /** Pega o primeiro item embaralhado */ color_spinner = 'text-'+color_rand[0]; /** Pega o primeiro item embaralhado */ color_alert = 'alert-'+color_rand[0]; break; default: color_spinner = 'text-primary'; color_alert = 'text-primary'; } } /** Verifica a ação a ser executada */ if(create === true){ /** Verifica se um alvo foi definido e se existe */ if($(target).length){ /** Verifica se existe mensagem a ser informada */ if(message){ /** Verifica se a mensagem possui spinner para exibir */ if(message_spinner === true){ spinner_message = '
'; spinner_message += ' Loading...'; spinner_message += '
'; } /** Carrega a mensagem no algo informado */ var div = spinner_message; div += '  '+message; }else{ /** Cria a div responsável em carregar o spinner+info */ var div = '
'; div += ' Loading...'; div += '
'; } /** Adiciona o spinner ao target */ $(target).html(div); }else{ /** Verifica se existe mensagem a ser informada */ if(message){ /** Verifica se a mensagem possui spinner para exibir */ if(message_spinner === true){ spinner_message = '
'; spinner_message += ' Loading...'; spinner_message += '
'; } /** Cria a div responsável em carregar o spinner+info */ var div = '
'; div += '
'; div += ' '; div += '
'; div += '
';//Background total na tela div += '
'; }else{ /** Cria a div responsável em carregar o spinner+info */ var div = '
'; div += '
'; div += '
'; div += ' Loading...'; div += '
'; div += '
'; div += info;//Carrega a informação informada div += '
'; div += '
'; div += '
';//Background total na tela div += '
'; } /** Adiciona o spinner na tela */ $('body').append(div); /** Posiciona o spinner no centro da tela */ $('div.spinner-box').css({ 'margin-left': '-' + ( $('div.spinner-box').width()/2 ) + 'px' }); } /** Verifica se o tempo de execução foi definido */ if(parseInt(sec) > 0){ setTimeout(function() { $('div').remove('#spinner-block'); }, sec);//Remove o item a partir dos segundos informados } }else{ $('div').remove('#spinner-block'); } } /** Embaralha os elementos de uma array */ shuffle = function(v){ for(var j, x, i = v.length; i; j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j] = x); return v; };