Created
December 18, 2017 13:29
-
-
Save mvnp/e1c1e8e42496a714063c86293f669405 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function(){ | |
'use strict'; | |
var empresas_id = "#ajax_empresa"; | |
var local_id = "#ajax_local"; | |
var servicos_id = "#ajax_servico"; | |
var pesquisadores_id = "#ajax_persquisador"; | |
var pesquisa_id = "#ajax_pesquisa"; | |
var unidades_id = "#ajax_unidade"; | |
var funcoes_id = "#ajax_funcao"; | |
var equipes_id = "#ajax_equipe"; // <<<<<<<<< | |
var created_at = "input[name='DESEMP_DATA_DESDE']"; | |
var finished_at = "input[name='DESEMP_DATA_ATE']"; | |
var clean_button_id = "#removeselecaodoform"; | |
var send_button_id = "#submit_form"; | |
var empresas_data; | |
var local_data; | |
var servicos_data; | |
var pesquisadores_data; | |
var pesquisa_data; | |
var unidades_data; | |
var funcoes_data; | |
var equipes_data; // <<<<<<<<< | |
make_all_mult_select(); | |
$.when(equipes_set(), funcoes_set(), unidades_set(), empresa_set(), local_set(), pesquisadores_set(), servicos_set(), pesquisa_set()).done(function(){ // <<<<<<<<< | |
add_options(empresas_id, empresas_data); | |
select_if_can(); | |
$('#ajax_empresa').multiselect({ | |
includeSelectAllOption: true, | |
nSelectedText: 'selecionados ..', | |
nonSelectedText:'Nenhum selecionado ..', | |
allSelectedText: 'Todos selecionados ..', | |
selectAllText: 'Selecionar todos ..', | |
numberDisplayed: 1, | |
onDropdownHide: function(option, checked){ | |
select_if_can(false); | |
} | |
}); | |
}); | |
function empresa_set(){ | |
return $.ajax({ | |
url: 'http://pesquisa.wshare.com.br/get.php', | |
type: 'POST', | |
dataType: 'JSON', | |
data: {qual: "getempresas"}, | |
success: function(resposta){ | |
empresas_data = resposta; | |
} | |
}); | |
} | |
function unidades_set(){ | |
return $.ajax({ | |
url: 'http://pesquisa.wshare.com.br/get.php', | |
type: 'POST', | |
dataType: 'JSON', | |
data: {qual: "getunidades"}, | |
success: function(resposta){ | |
unidades_data = resposta; | |
} | |
}); | |
} | |
function pesquisa_set(){ | |
return $.ajax({ | |
url: 'http://pesquisa.wshare.com.br/get.php', | |
type: 'POST', dataType: 'json', | |
data: {qual: "getpesquisas"}, | |
success: function(retorno){ | |
pesquisa_data = retorno; | |
} | |
}); | |
} | |
function local_set(){ | |
return $.ajax({ | |
url: 'http://pesquisa.wshare.com.br/get.php', | |
type: 'POST', dataType: 'json', | |
data: {qual: "requestlocals"}, | |
success: function(retorno){ | |
local_data = retorno; | |
} | |
}); | |
} | |
function funcoes_set(){ | |
return $.ajax({ | |
url: 'http://pesquisa.wshare.com.br/get.php', | |
type: 'POST', dataType: 'json', | |
data: {qual: "requestfuncoes"}, | |
success: function(retorno){ | |
funcoes_data = retorno; | |
} | |
}); | |
} | |
function pesquisadores_set(){ | |
return $.ajax({ | |
url: 'http://pesquisa.wshare.com.br/get.php', | |
type: 'POST', dataType: 'json', | |
data: {qual: "getpesquisadores"}, | |
success: function(retorno){ | |
pesquisadores_data = retorno; | |
} | |
}); | |
} | |
function servicos_set(){ | |
return $.ajax({ | |
url: 'http://pesquisa.wshare.com.br/get.php', | |
type: 'POST', dataType: 'json', | |
data: {qual: "requestservicos"}, | |
success: function(retorno){ | |
servicos_data = retorno; | |
} | |
}); | |
} | |
function equipes_set(){ // <<<<<<<<< | |
return $.ajax({ | |
url: 'http://pesquisa.wshare.com.br/get.php', | |
type: 'POST', dataType: 'json', | |
data: {qual: "getequipes"}, | |
success: function(retorno){ | |
equipes_data = retorno; // <<<<<<<<< | |
} | |
}); | |
} | |
$(send_button_id).click(function(event) { | |
save_selecteds(); | |
}); | |
$(clean_button_id).click(function(event){ | |
event.preventDefault(); | |
clean_campos(); | |
clean_filtro(); | |
}); | |
function clean_filtro(){ | |
$.ajax({ | |
url: '/sessao/limparfiltro', | |
type: 'POST', dataType: 'json', | |
data: {parametro: "limpar"}, | |
success: function(data){ | |
var url = window.location.href; | |
window.location = url; | |
} | |
}); | |
} | |
function select_if_can(mudar_empresas = true){ | |
var empresas_selecionas = get_selects(empresas_id); | |
var Local_selecionas = null; | |
var Servicos_selecionas = null; | |
var Pesquisador_selecionas = null; | |
var Pesquisas_selecionas = null; | |
var Unidades_selecionas = null; | |
var Funcoes_selecionas = null; | |
var Equipes_selecionas = null; // <<<<<<<<< | |
if( window.localStorage.getItem("Saved_selects") !== null ){ | |
var data = window.localStorage.getItem("Saved_selects"); | |
data = $.parseJSON(data); | |
empresas_selecionas = data.Empresas_field; | |
Local_selecionas = data.Local_field; | |
Servicos_selecionas = data.Servicos_field; | |
Pesquisador_selecionas = data.Pesquisador_field; | |
Pesquisas_selecionas = data.Pesquisas_field; | |
Unidades_selecionas = data.Unidades_field; | |
Funcoes_selecionas = data.Funcoes_field; | |
Equipes_selecionas = data.Equipes_field; // <<<<<<<<< | |
} | |
if( mudar_empresas == true ){ | |
$(empresas_id).html(""); | |
add_options(empresas_id, empresas_data, empresas_selecionas); | |
} | |
preenche_campos(Local_selecionas, Servicos_selecionas, Pesquisador_selecionas, Pesquisas_selecionas, Unidades_selecionas, Funcoes_selecionas, Equipes_selecionas); // <<<<<<<<< | |
} | |
function clean_campos(){ | |
window.localStorage.removeItem("Saved_selects"); | |
$(empresas_id).multiselect('destroy'); | |
$(local_id).multiselect('destroy'); | |
$(servicos_id).multiselect('destroy'); | |
$(pesquisadores_id).multiselect('destroy'); | |
$(pesquisa_id).multiselect('destroy'); | |
$(unidades_id).multiselect('destroy'); | |
$(funcoes_id).multiselect('destroy'); | |
$(equipes_id).multiselect('destroy'); // <<<<<<<<< | |
$(empresas_id).html(""); | |
$(local_id).html(""); | |
$(servicos_id).html(""); | |
$(pesquisadores_id).html(""); | |
$(pesquisa_id).html(""); | |
$(unidades_id).html(""); | |
$(funcoes_id).html(""); | |
$(equipes_id).html(""); // <<<<<<<<< | |
add_options(empresas_id, empresas_data); | |
make_all_mult_select(); | |
$('#ajax_empresa').multiselect({ | |
includeSelectAllOption: true, | |
nSelectedText: 'selecionados ..', | |
nonSelectedText:'Nenhum selecionado ..', | |
allSelectedText: 'Todos selecionados ..', | |
selectAllText: 'Selecionar todos ..', | |
numberDisplayed: 1, | |
onDropdownHide: function(option, checked){ | |
select_if_can(false); | |
} | |
}); | |
} | |
function save_selecteds(){ | |
var data = { | |
"Empresas_field": get_selects(empresas_id), | |
"Local_field": get_selects(local_id), | |
"Servicos_field": get_selects(servicos_id), | |
"Pesquisador_field": get_selects(pesquisadores_id), | |
"Pesquisas_field": get_selects(pesquisa_id), | |
"Unidades_field": get_selects(unidades_id), | |
"Funcoes_field": get_selects(funcoes_id), | |
"Equipes_field": get_selects(equipes_id) // <<<<<<<<< | |
} | |
window.localStorage.setItem("Saved_selects", JSON.stringify(data)); | |
} | |
function preenche_campos(local_options = null, servicos_options = null, pesquisadores_options = null, pesquisas_options = null, unidades_options = null, funcoes_options = null, equipes_options = null){ // <<<<<<<<< | |
var empresas = get_selects(empresas_id); | |
if( jQuery.isEmptyObject(empresas) ){ | |
empresas = []; | |
$(empresas_id+" option").each(function(){ | |
var item = $(this).val(); | |
empresas.push(item); | |
}); | |
} | |
var data_append_servicos = servicos_data; | |
var data_append_local = get_data(empresas, local_id, local_data); | |
var data_append_pesquisadores = get_data(empresas, pesquisadores_id, pesquisadores_data); | |
var data_append_unidades = get_data(empresas, unidades_id, unidades_data); | |
var data_append_equipes = get_data(empresas, equipes_id, equipes_data); // <<<<<<<<< | |
var data_append_pesquisas = pesquisa_data; | |
var data_append_funcoes = funcoes_data; | |
add_options_multiselect(local_id, data_append_local, local_options); | |
add_options_multiselect(servicos_id, data_append_servicos, servicos_options); | |
add_options_multiselect(pesquisadores_id, data_append_pesquisadores, pesquisadores_options); | |
add_options_multiselect(pesquisa_id, data_append_pesquisas, pesquisas_options); | |
add_options_multiselect(unidades_id, data_append_unidades, unidades_options); | |
add_options_multiselect(funcoes_id, data_append_funcoes, funcoes_options); | |
add_options_multiselect(equipes_id, data_append_equipes, equipes_options); // <<<<<<<<< | |
} | |
function get_data(data, variavel, data_to_consult){ | |
var return_data = []; | |
for (var i = 0; i < data.length; i++) { | |
var id_empresa = data[i]; | |
for (var e = 0; e < data_to_consult.length; e++) { | |
var item = data_to_consult[e]; | |
var id = item.PESQUISADOR_EMP_ID; | |
if( variavel == local_id ){ | |
id = item.LOCAL_EMP_ID; | |
} | |
if( variavel == unidades_id ){ | |
id = item.UO_EMP_ID; | |
} | |
if( variavel == equipes_id ){ | |
id = item.VISITAS_EQUIPE_EMP_ID; | |
} | |
if( id == id_empresa ){ | |
return_data.push(item); | |
} | |
} | |
} | |
return return_data; | |
} | |
function add_options_multiselect(id, options, selectec_ones = null){ | |
$(id).multiselect('destroy'); | |
$(id).html(""); | |
for (var i = 0; i < options.length; i++) { | |
var option = document.createElement("option"); | |
var text = get_text(id, options[i]); | |
var value = get_value(id, options[i]); | |
option.text = text; | |
option.value = value; | |
if( selectec_ones != null ){ | |
for (var e = 0; e < selectec_ones.length; e++) { | |
var select = selectec_ones[e]; | |
if( value == select ){ | |
option.setAttribute('selected', 'selected'); | |
} | |
} | |
} | |
$(id).append(option); | |
} | |
$(id).multiselect({ | |
includeSelectAllOption: true, | |
nSelectedText: 'selecionados ..', | |
nonSelectedText:'Nenhum selecionado ..', | |
allSelectedText: 'Todos selecionados ..', | |
selectAllText: 'Selecionar todos ..', | |
numberDisplayed: 1, | |
}); | |
} | |
function add_options(id, options, selectec_ones = null){ | |
for (var i = 0; i < options.length; i++) { | |
var option = document.createElement("option"); | |
var text = get_text(id, options[i]); | |
var value = get_value(id, options[i]); | |
option.text = text; | |
option.value = value; | |
if( selectec_ones !== null ){ | |
for (var e = 0; e < selectec_ones.length; e++) { | |
var select = selectec_ones[e]; | |
if( value == select ){ | |
option.setAttribute('selected', 'selected'); | |
} | |
} | |
} | |
$(id).append(option); | |
} | |
} | |
function get_text(id, data){ | |
if( id == empresas_id ){ | |
return data.EMP_NOME; | |
} | |
if( id == local_id ){ | |
return data.LOCAL_DESCRICAO; | |
} | |
if( id == servicos_id ){ | |
return data.SERV_DESC; | |
} | |
if( id == pesquisadores_id ){ | |
return data.PESQUISADOR_NOME; | |
} | |
if( id == pesquisa_id ){ | |
return data.PESQ_TIT; | |
} | |
if( id == unidades_id ){ | |
return data.UO_NOME; | |
} | |
if( id == funcoes_id ){ | |
return data.FC_DESCR; | |
} | |
if( id == equipes_id ){ // <<<<<<<<< | |
return data.VISITAS_EQUIPE_NOME+" "+data.VISITAS_EQUIPE_SOBRENOME; | |
} | |
} | |
function get_value(id, data){ | |
if( id == empresas_id ){ | |
return data.ID; | |
} | |
if( id == local_id ){ | |
return data.LOCAL_ID; | |
} | |
if( id == servicos_id ){ | |
return data.SERV_ID; | |
} | |
if( id == pesquisadores_id ){ | |
return data.PESQUISADOR_ID; | |
} | |
if( id == pesquisa_id ){ | |
return data.ID; | |
} | |
if( id == unidades_id ){ | |
return data.UO_ID; | |
} | |
if( id == funcoes_id ){ | |
return data.FC_ID; | |
} | |
if( id == equipes_id ){ // <<<<<<<<< | |
return data.VISITAS_EQUIPE_ID; | |
} | |
} | |
function make_all_mult_select(){ | |
$(local_id+", "+servicos_id+", "+pesquisadores_id+", "+pesquisa_id+", "+unidades_id+", "+funcoes_id+", "+equipes_id).multiselect({ | |
includeSelectAllOption: true, | |
nSelectedText: 'selecionados ..', | |
nonSelectedText:'Nenhum selecionado ..', | |
allSelectedText: 'Todos selecionados ..', | |
selectAllText: 'Selecionar todos ..', | |
numberDisplayed: 1, | |
}); | |
} | |
function get_selects(id){ | |
var return_data = []; | |
$(id+" option:selected").each(function(){ | |
var item = $(this).val(); | |
return_data.push(item); | |
}); | |
return return_data; | |
} | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment