Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (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 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;
- make_all_mult_select();
- $.when(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/filtro/test/get.php',
- type: 'POST',
- dataType: 'JSON',
- data: {qual: "getempresas"},
- success: function(resposta){
- empresas_data = resposta;
- }
- });
- }
- function pesquisa_set(){
- return $.ajax({
- url: 'http://pesquisa.wshare.com.br/filtro/test/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/filtro/test/get.php',
- type: 'POST', dataType: 'json',
- data: {qual: "requestlocals"},
- success: function(retorno){
- local_data = retorno;
- }
- });
- }
- function pesquisadores_set(){
- return $.ajax({
- url: 'http://pesquisa.wshare.com.br/filtro/test/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/filtro/test/get.php',
- type: 'POST', dataType: 'json',
- data: {qual: "requestservicos"},
- success: function(retorno){
- servicos_data = retorno;
- }
- });
- }
- $(send_button_id).click(function(event) {
- save_selecteds();
- });
- $(clean_button_id).click(function(event) {
- event.preventDefault();
- clean_campos();
- });
- 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;
- 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;
- }
- 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);
- }
- 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');
- $(empresas_id).html("");
- $(local_id).html("");
- $(servicos_id).html("");
- $(pesquisadores_id).html("");
- $(pesquisa_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)
- }
- window.localStorage.setItem("Saved_selects", JSON.stringify(data));
- }
- function preenche_campos(local_options = null, servicos_options = null, pesquisadores_options = null, pesquisas_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_pesquisas = pesquisa_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);
- }
- 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( 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;
- }
- }
- 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;
- }
- }
- function make_all_mult_select(){
- $(local_id+", "+servicos_id+", "+pesquisadores_id+", "+pesquisa_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;
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement