140
| <![CDATA[<script type='text/javascript'>
Array.prototype.contains = function(elemento) {
var separator = "**//**";
var string = this.join(separator);
return string.indexOf(separator + elemento) != -1;
};
/**
* Função utilizada para reduzir uma string a um determinado tamanho e incluir o caractere de reticências no final da mesma.
* Recebe como parâmetro a string e um inteiro representando o tamanho máximo.
* jQuery('#noticiaEmDestaque .descricaoNoticia').html(shorten(jQuery('#noticiaEmDestaque .descricaoNoticia').html(), 10));
*/
function shorten(text, maxLength) {
var ret = text;
if (ret.length > maxLength) {
ret = ret.substr(0,maxLength-3) + '…';
}
return ret;
}
jQuery(function(){
jQuery('.ckeditorBasicoTitulo').ckeditor( {
toolbar: 'eProBasicaTitulo'
} );
/**
* Inicializa a funcao de abertura da busca avancada
*/
//(guinogueiras, 26/05/2014 definido pela analise que nao abre busca avancada na maioria dos Uc)
//talvezAbrirBuscaAvancada("#elementos_ocultos_nova_busca");
/**
* Inicializa os dropdowns do bootstrap (pex.: menu de acessibilidade)
*/
jQuery('.dropdown-toggle').dropdown();
/**
* Inicializa plugin que faz com que a barra superior fique colada no topo que a rolagem é disparada
*/
jQuery('header.sticker').sticky({
topSpacing:0,
className: 'grudadoNoTopo',
wrapperClassName: 'containerHeader marginBottom10'
});
/**
* Função utilizada para validar e impedir que um formulário seja enviado duas vezes.
* Ao clicar no elemento
* Requer:
* - Classe class="validarSubmissao" no elemento
* - Atributo data-input-block-action="Cadastrando" no elemento:
* O conteúdo desse atributo será o texto do elemento: Se o botão tem Cadastrar, coloque Cadastrando, por exemplo.
*
* Opcional:
* - Atributo data-input-block-title="titulo": texto do tÃtulo da janela modal;
* - Atributo data-input-block-text="texto": texto do texto da janela modal;
* - Atributo data-input-block-button="botao": texto do botão da janela modal;
*
* Se nenhum dos atributos opicionais acima forem fornecidos, o script utiliza o padrão:
* - Texto do tÃtulo da janela modal: erro.title01 | 'Atenção!'
* - Texto do texto da janela modal: erro.p05 | 'Por favor aguarde! A requisição está sendo processada.'
* - Texto do botão da janela modal: geral.button20 | 'Fechar'
*
* Fonte de inspiração:
* http://www.the-art-of-web.com/javascript/doublesubmit/
*/
//var submitting = false;
var modalTitle = 'Atenção!',
modalText = 'Por favor aguarde! A requisição está sendo processada.',
modalButton = 'Fechar',
modalNaoMostrarCamada = false;
jQuery(document).on('click', '.validarSubmissao', function(e){
//e.preventDefault();
var attrTitle = jQuery(this).attr('data-input-block-title'),
attrText = jQuery(this).attr('data-input-block-text'),
attrButton = jQuery(this).attr('data-input-block-button'),
naoApresentarCamada = jQuery(this).attr('data-input-nao-mostrar-camada');
if (typeof attrTitle !== 'undefined' && attrTitle !== false) modalTitle = attrTitle;
if (typeof attrText !== 'undefined' && attrText !== false) modalText = attrText;
if (typeof attrButton !== 'undefined' && attrButton !== false) modalButton = attrButton;
if (typeof naoApresentarCamada !== 'undefined' && naoApresentarCamada !== false) modalNaoMostrarCamada = true;
console.debug('0');
if(typeof jQuery(this).attr('submetendo') == 'undefined' || jQuery(this).attr('submetendo') == 'false'){
console.debug('1');
jQuery(this).siblings('.validarSubmissao').attr('disabled', true);
//se o atributo data-input-block-action foi definido, use-o
if(jQuery(this).attr('data-input-block-action') != undefined ){
if(jQuery(this).get(0).tagName == 'INPUT'){
jQuery(this).attr('data-input-unblock-action', this.value);
this.value = jQuery(this).attr('data-input-block-action');
if(modalNaoMostrarCamada) {
jQuery(this).attr('disabled', 'disabled');
}
} else if ((jQuery(this).get(0).tagName == 'A') || (jQuery(this).get(0).tagName == 'BUTTON')) {
jQuery(this).attr('data-input-unblock-action', jQuery(this).text());
jQuery(this).html(jQuery(this).attr('data-input-block-action'));
if(modalNaoMostrarCamada) {
// jQuery(this).addClass('btn-inativo');
}
}
}
jQuery(this).attr('submetendo', true);
} else if(jQuery(this).attr('submetendo') == 'true' && !modalNaoMostrarCamada) {
console.debug('2');
e.preventDefault();
var janela = jQuery('' +
'<div class="modal fade" id="modalValidarSubmissao" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">' +
'<div class="modal-dialog">' +
'<div class="modal-content">' +
'<div class="modal-header">' +
'<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>' +
'<h4 class="modal-title" id="myModalLabel">' + modalTitle + '</h4>' +
'</div>' +
'<div class="modal-body">' +
'<p class="alert alert-warning">' + modalText + '</p>' +
'</div>' +
'<div class="modal-footer">' +
'<button type="button" class="btn btn-warning" data-dismiss="modal">' + modalButton + '</button>' +
'</div>' +
'</div>' +
'</div>' +
'</div>'
);
console.debug('3');
jQuery(janela).modal();
this.disabled = true;
return false;
}
return true;
});
jQuery(document).on('hidden.bs.modal', '#modalValidarSubmissao', function (e) {
jQuery('#modalValidarSubmissao').remove();
});
/**
* Bind para acionar as tooltips do bootstrap.
*/
bindTooltip();
bindTooltip('header h3 a');
/**
* Bind para acionar os popover do bootstrap.
*/
bindPopover();
/**
* Bind para acionar o propertie indeterminate no checkbox
*/
bindCheckBoxIndeterminate();
/**
* Bind para acionar o plugin selectpicker
*/
bindSelectPicker();
/**
* http://sentences.github.io/jquery-creasefont/
*/
/*jQuery.creaseFont({
content : 'body',
defaultSize : 100,
maxSize : 160,
minSize : 60,
stepSize : 10,
unit : '%',
bFontLarge : '#fonte_menos',
bFontDefault: '#fontDefault',
bFontSmall : '#fonte_mais',
animate : false,
//animateSpeed: 500,
cookieName : 'creaseFont',
cookiePath : '/',
cookieLifetime:60
}); */
// corrigeMenu();
});
/**
* A funcao recebe o ID da div de Busca Avancada e varre todos os
* elementos do formulario verificando se algum deles esta preenchido
* caso algum esteja mantem a busca aberta.
*/
function talvezAbrirBuscaAvancada(id){
//a flag busca so vem quando for buscado
if(false) {
var abrir = false;
//verifica se existem input com conteudo ou option selecionado
jQuery(id + " input[type=text] , " + id + " select option:selected" ).each(function(){
if(jQuery(this).val().match(/^[ \t]*$/) == null){
abrir = true;
return false;
}
});
//verifica se existe um checkbox selecionado
if(jQuery(id + " input[type=checkbox]:checked" ).size() > 0)
abrir = true;
//abre a busca avancada se abrir for TRUE
if(abrir){
var classe = jQuery(id).attr("class");
classe = classe.substr(classe.search('ocultoEp_')).split(" ")[0].split("_")[1];
jQuery(".exibirEp_"+ classe).click();
}
}
}
/**
* Bind para acionar os popover do bootstrap.
*/
function bindPopover(){
jQuery('[data-toggle=popover]').popover();
}
/**
* Limpa mudancas feitas pela funcao do validarSubmissao
*/
function limparValidarSubmissao(){
jQuery("[data-input-unblock-action]").each(function(){
jQuery(this).removeAttr("submetendo").removeAttr("disabled");
if(jQuery(this).get(0).tagName == 'INPUT'){
jQuery(this).val(jQuery(this).attr("data-input-unblock-action"));
jQuery(this).removeAttr('disabled');
} else if ((jQuery(this).get(0).tagName == 'A') || (jQuery(this).get(0).tagName == 'BUTTON')) {
jQuery(this).text(jQuery(this).attr("data-input-unblock-action"));
}
jQuery(this).removeAttr("data-input-unblock-action");
});
jQuery('#modalValidarSubmissao').modal('hide');
jQuery('#modalValidarSubmissao').on('hidden.bs.modal', function (e) {
jQuery('#modalValidarSubmissao').remove();
});
}
/**
* Exclui os nos do menu (entidade/curso/turma) que estao vazios
*/
function corrigeMenu(){
jQuery('.subtituloGrupoMenu').each(function(){
var id = jQuery(this).attr('id').replace('subtituloGrupoMenu','');
if (jQuery('.grupoMenu' + id + ' > *').length === 0){
jQuery('.grupoMenu' + id).remove();
jQuery(this).remove();
}
});
}
jQuery(function(){
jQuery('.areaEspaco').on('click', '.encolherMenuLateral', function(e){
e.preventDefault();
jQuery(this).hide();
jQuery(this).siblings('.expandirMenuLateral').show();
jQuery(this).parents('header').siblings('section').slideUp();
});
jQuery('.areaEspaco').on('click', '.expandirMenuLateral', function(e){
e.preventDefault();
jQuery('.encolherMenuLateral').hide();
jQuery('.expandirMenuLateral').show();
jQuery(this).hide();
jQuery(this).siblings('.encolherMenuLateral').show();
jQuery(this).parents('section').siblings('section.areaEspaco').find('section').slideUp();
jQuery(this).parents('header').siblings('section').slideDown();
});
jQuery('.areaEspacoMenuUg, .areaEspacoMenuComunidade, .areaEspacoMenuAjuda').on('click keypress', '.subtituloGrupoMenu', function(event){
var id = jQuery(this).attr('id').replace('subtituloGrupoMenu', '');
console.debug(id);
if(jQuery('.grupoMenu'+id).is(':visible')) { // Se o menu correspondente esta visivel, fecha ele
jQuery('#subtituloGrupoMenu'+id).find('i').attr('class', 'icon ic_seta_menu1 pull-right');
jQuery('.grupoMenu' + id).slideUp();
} else { // Se nao, fecha os outros e abre ele
jQuery('.subtituloGrupoMenu:not(#subtituloGrupoMenu'+id+')').find('i').attr('class', 'icon ic_seta_menu1 pull-right');
if(jQuery('.grupoMenu:not(.grupoMenu'+id+')').is('*')){
jQuery('.grupoMenu:not(.grupoMenu'+id+')').slideUp(function() {
jQuery('.grupoMenu' + id).slideDown();
jQuery('#subtituloGrupoMenu'+id).find('i').attr('class', 'icon ic_seta_menu2 pull-right');
});
} else {
jQuery('.grupoMenu' + id).slideDown();
jQuery('#subtituloGrupoMenu'+id).find('i').attr('class', 'icon ic_seta_menu2 pull-right');
}
}
});
});
function exibirMunicipios(idEstado, idMunicipio, idSelect) {
//remove todas as opcoes inseridas anteriormente
jQuery("select#"+idSelect+" option[value!='']").remove();
if (idEstado == '') {
jQuery("select#"+idSelect).selectpicker('refresh');
return;
}
jQuery.get(contextPath + '/sistema/obtenha_municipios.htm?idEstado='+idEstado, function(data) {
//exibe os municipios no select de municipio
jQuery(data.municipios).each(function() {
jQuery("select#"+idSelect).append("<option value=\""+this.id+"\">"+this.nome+"</option>");
});
//verifica se algum municipio foi selecionado
if (idMunicipio != '') {
jQuery("select#"+idSelect+" option[value="+idMunicipio+"]").attr("selected", true);
}
jQuery("select#"+idSelect).selectpicker('refresh');
}, 'json');
}
jQuery.fn.cleanWhitespace = function() {
textNodes = this.contents().filter(
function() { return (this.nodeType == 3 && !/\S/.test(this.nodeValue)); })
.remove();
return this;
}
</script>]]>
|