Advertisement
yosica_code

Atraccoes (JS)

Sep 16th, 2016
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $.fn.asideHeight = function(){
  2.     var height = $('#main').height();
  3.     $('#aside').height(height + 5);
  4. }
  5.  
  6. $.fn.initialAsideHeight = function(){
  7.     var mainHeight = $('#main').height();
  8.     var messageHeight = $('#message').height();
  9.     $('#aside').height(mainHeight - messageHeight);
  10. }
  11.  
  12. $(document).ready(function(){
  13.     $(this).asideHeight();
  14.  
  15.     $('[data-toggle="tooltip"]').tooltip();
  16.  
  17.     $(window).scroll(function(){
  18.         if ($(this).scrollTop() > 100) {
  19.             $('.scrollToTop').fadeIn();
  20.         } else {
  21.             $('.scrollToTop').fadeOut();
  22.         }
  23.     });
  24.     $('.scrollToTop').click(function(){
  25.         $('html, body').animate({scrollTop : 0},800);
  26.         return false;
  27.     });
  28.  
  29.     var msgBox = $('#message');
  30.     var forms = $("form");
  31.     var button = $('#btn-submitMember');
  32.     var urlRequest = '../code/core/crud.functions.php';
  33.  
  34.     $('#btn-submitMember').removeAttr('disabled','disabled')
  35.  
  36.     button.attr('type','submit');
  37.  
  38.     forms.submit(function(){
  39.         msgBox.fadeOut("fast");
  40.         return false;
  41.     });
  42.  
  43.     $('#register-member').validate({
  44.         rules:
  45.         {
  46.             name: {
  47.                 required: true,
  48.                 minlength: 6
  49.             },
  50.             email: {
  51.                 required: true,
  52.                 email: true
  53.             },
  54.             country:{
  55.                 required: true
  56.             },
  57.             ocupation:{
  58.                 required: true
  59.             },
  60.             username: {
  61.                 required: true,
  62.                 minlength: 5
  63.             },
  64.             password: {
  65.                 required: true,
  66.                 minlength: 8
  67.             },
  68.             cpassword: {
  69.                 required: true,
  70.                 equalTo: '#password'
  71.             }
  72.         },
  73.         messages:
  74.         {
  75.             name: {
  76.                 required: "Digite o nome completo.",
  77.                 minlength: "O nome deve possuir no mínimo 6 caracteres."
  78.             },
  79.             email: {
  80.                 required: "Digite o correio electrónico (e-mail).",
  81.                 email: "Digite um e-mail válido."
  82.             },
  83.             country: "Selecione o país ou nacionalidade.",
  84.             job: "Selecione a função ou cargo.",
  85.             username: {
  86.                 required: "Digite o nome de usuário.",
  87.                 minlength: "O nome de usuário deve possuir no mínimo 5 caracteres."
  88.             },
  89.             password:{
  90.                 required: "Digite a senha.",
  91.                 minlength: "A senha deve possuir no mínimo 8 caracteres."
  92.             },
  93.             cpassword:{
  94.                 required: "Redigita a senha.",
  95.                 equalTo: "As senhas não coincidem, redigita novamente."
  96.             }
  97.         }
  98.     });
  99.  
  100.     function loading(){
  101.         msgBox.empty().html('<span class="alert alert-info msg-top"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><p class="center"><img src="../code/images/ajax/ajax-loader.gif" alt="Carregando..." style="width: 30px!important;height: 30px!important;" />&nbsp;&nbsp;Enviando a requisição ao servidor, aguarde...</p></span>').fadeIn("fast");
  102.         $('#btn-submitMember').attr('disabled','disabled');
  103.         $(this).asideHeight();
  104.     }
  105.  
  106.     function sendError(){
  107.         msgBox.empty().html('<span class="alert alert-danger msg-top"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><p class="center"><strong>Erro inesperado</strong>, por favor contacte o administrador.</p></span>').fadeIn("fast");
  108.         $('#btn-submitMember').removeAttr('disabled','disabled')
  109.         $(this).asideHeight();
  110.     }
  111.  
  112.     function dataError(message){
  113.         msgBox.empty().html('<span class="alert alert-danger msg-top"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><p class="center">'+message+'</p></span>').fadeIn("fast");
  114.         $('#btn-submitMember').removeAttr('disabled','disabled')
  115.         $(this).asideHeight();
  116.     }
  117.  
  118.     function alreadyExist(message){
  119.         msgBox.empty().html('<span class="alert alert-warning msg-top"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><p class="center">'+message+'</p></span>').fadeIn("fast");
  120.         $('#btn-submitMember').removeAttr('disabled','disabled')
  121.         $(this).asideHeight();
  122.     }
  123.  
  124.     function success(message){
  125.         msgBox.empty().html('<span class="alert alert-success msg-top"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><p class="center">'+message+'</p></span>').fadeIn("fast");
  126.         $('#btn-submitMember').removeAttr('disabled','disabled')
  127.         $(this).asideHeight();
  128.     }
  129.  
  130.     $.ajaxSetup({
  131.         url: urlRequest,
  132.         type: 'POST',
  133.         beforeSend: loading,
  134.         error: sendError
  135.     });
  136.  
  137.     //SAVE MEMBER
  138.     var registerMember = $("#register-member");
  139.     registerMember.submit(function(){
  140.         if(($("#name").val()!="" && $("#name").val().length>6) && $("#email").val()!="" && $("#country").val()!="" && $("#job").val()!="" && $("#username").val()!="" && $("#password").val()!="" && $("#cpassword").val()!=""){
  141.             if($("#cpassword").val() != $("#password").val())
  142.             {
  143.                 msgBox.html('<span class="alert alert-warning msg-top"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><p class="center">A senha e a confirmação da senha não são iguais.</p></span>').fadeIn('fast');
  144.                 $(this).asideHeight();
  145.                 $('#password,#cpassword').keyup(function(){
  146.                     $('#message').fadeOut('fast');
  147.                 });
  148.                 return false;
  149.             }
  150.             var datas = $(this).serialize();
  151.             var action = "&action=createMember";
  152.             var sender = datas+action;
  153.             $.ajax({
  154.                 data: sender,
  155.                 success: function(answer){
  156.                     if(answer=='1'){
  157.                         dataError("Erro ao registar, existem campos em branco!");
  158.                     }else if(answer=='2'){
  159.                         success("Colaborador registado com sucesso.");
  160.                     }else if(answer=='3'){
  161.                         sendError();
  162.                     }
  163.                     else{
  164.                         alreadyExist(answer);
  165.                     }
  166.                 },
  167.                 complete: function(){
  168.                     //location.href="/Atraccoes/Admin/";
  169.                     registerMember.find("input, select").val('');
  170.                     $("#name").attr('autofocus','autofocus');
  171.                 }
  172.             });
  173.         }else
  174.         {
  175.             msgBox.html('<span class="alert alert-warning msg-top"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><p class="center">Todos os campos são obrigatórios.</p></span>').fadeIn('fast');
  176.             $(this).asideHeight();
  177.             $('#name,#email,#username,#password,#cpassword').keyup(function(){
  178.                 $('#message').fadeOut('fast');
  179.                 $(this).asideHeight();
  180.             });
  181.             return false;
  182.         }
  183.     });
  184.  
  185.     //READ MEMBER
  186.     var loading = $('#loading');
  187.     var loadlist = $('#load-list');
  188.     var loadmore = $('#load-more');
  189.     var paneluser = $('#panel-user');
  190.     paneluser.hide();
  191.     function loadMembers(datas){
  192.         $.ajax({
  193.             data: datas,
  194.             beforeSend: '',
  195.             error: '',
  196.             success: function(data){
  197.                 if(data == 4){
  198.                     loadmore.text("Não existem mais Colaboradores. Recarregue a página!").click(function(){
  199.                         location.reload();
  200.                     });
  201.                     loading.delay(300).fadeOut("slow");
  202.                     $(this).asideHeight();
  203.                 }else{
  204.                     paneluser.show();
  205.                     loadlist.append(data);
  206.                     loading.delay(500).fadeOut("slow");
  207.                     loading.hide();
  208.                     $(this).asideHeight();
  209.                 }
  210.             }
  211.         });
  212.     }
  213.     loadMembers("action=readMember&offset=0&limit=4");
  214.     var offset = 4;
  215.     loadmore.click(function(){
  216.         loading.fadeIn("fast");
  217.         loadMembers("action=readMember&offset="+offset+"&limit=4");
  218.         offset += 4;
  219.     });
  220.  
  221.     //DELETE MEMBER
  222.     var deleteData;
  223.     loadlist.on('click','.delete-member',function(){
  224.         var deleteId = $(this).attr('id');
  225.         deleteData = "action=deleteMember&id="+deleteId;
  226.     });
  227.     $('#deleteMember').click(function(){
  228.         $.ajax({
  229.             data: deleteData,
  230.             beforeSend: '',
  231.             error: '',
  232.             success: function(data){
  233.                 if(data != 5){
  234.                     success(data);
  235.                     $('.delete-modal-md').modal('hide');
  236.                     location.reload();
  237.                 }else{
  238.                     $('.delete-modal-md').modal('hide');
  239.                     dataError("Erro ao apagar o colaborador, tente novamente.");
  240.                     $(this).asideHeight();
  241.                 }
  242.             }
  243.         });
  244.     });
  245.  
  246.     //ACTIVE AND DESACTIVE MEMBER
  247.     var statusData;
  248.     loadlist.on('click','.active-member',function(){
  249.         var statusId = $(this).attr('id');
  250.         statusData = "action=statusMember&status=1&id="+statusId;
  251.     });
  252.     loadlist.on('click','.desactive-member',function(){
  253.         var statusId = $(this).attr('id');
  254.         statusData = "action=statusMember&status=0&id="+statusId;
  255.     });
  256.     $('#activeMember').click(function(){
  257.         $.ajax({
  258.             data: statusData,
  259.             beforeSend: '',
  260.             error: '',
  261.             success: function(data){
  262.                 if(data != 6){
  263.                     success(data);
  264.                     $('.active-modal-md').modal('hide');
  265.                     location.reload();
  266.                 }else{
  267.                     $('.active-modal-md').modal('hide');
  268.                     dataError("Erro ao alterar o status do colaborador, tente novamente.");
  269.                     $(this).asideHeight();
  270.                 }
  271.             }
  272.         });
  273.     });
  274.     $('#desactiveMember').click(function(){
  275.         $.ajax({
  276.             data: statusData,
  277.             beforeSend: '',
  278.             error: '',
  279.             success: function(data){
  280.                 if(data != 6){
  281.                     success(data);
  282.                     $('.desactive-modal-md').modal('hide');
  283.                     location.reload();
  284.                 }else{
  285.                     $('.desactive-modal-md').modal('hide');
  286.                     dataError("Erro ao alterar o status do colaborador, tente novamente.");
  287.                     $(this).asideHeight();
  288.                 }
  289.             }
  290.         });
  291.     });
  292.  
  293.     //CONSULT, EDIT AND UPDATE MEMBER
  294.     var frmEditMember = $('#frmEdit-member');
  295.     var modalMember = $('.edit-modal-md');
  296.     var modalMsg = $('#modal-msg');
  297.     loadlist.on('click','.edit-member',function(){
  298.         var memberId = $(this).attr('id');
  299.         var consultData = "action=consultMember&id="+memberId;
  300.         $.ajax({
  301.             data: consultData,
  302.             dataType: "json",
  303.             beforeSend: function(){modalMember.modal('show');},
  304.             error: '',
  305.             success: function(data){
  306.                 $('#frmEdit-member #country>option:first-of-type').attr('name','IdCountry');
  307.                 $('#frmEdit-member #country>option:first-of-type').attr('class','Country');
  308.                 $.each(data, function(key, value){
  309.                     frmEditMember.find('input[name="'+key+'"]').val(value);
  310.                     /*frmEditMember.find('option[name="'+key+'"]').val(value);
  311.                     frmEditMember.find('option[class="'+key+'"]').html(value);*/
  312.                 });
  313.             }
  314.         });
  315.     });
  316.     frmEditMember.submit(function(){
  317.         var updateData = "action=updateMember&"+$(this).serialize();
  318.         var updateId = $(this).find('input[name="Id"]').val();
  319.         alert(updateData);
  320.         /*$.ajax({
  321.             data: updateData,
  322.             beforeSend: '',
  323.             error: '',
  324.             success: function(data){
  325.                 if(data=='1'){
  326.                     modalMsg.html('<span class="alert alert-error" style="margin:10px 15px 20px;float:left;width:95%;padding:7px;"><p class="center">Erro ao actualizar os dados, existem campos em branco!</p></span>').fadeIn("fast");
  327.                 }else if(data=='2'){
  328.                     modalMsg.html('<span class="alert alert-success" style="margin:10px 15px 20px;float:left;width:95%;padding:7px;"><p class="center">Colaborador registado com sucesso.</p></span>').fadeIn("fast");
  329.                 }else if(data=='3'){
  330.                     modalMsg.html('<span class="alert alert-danger" style="margin:10px 15px 20px;float:left;width:95%;padding:7px;"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><p class="center"><strong>Erro inesperado</strong>, por favor contacte o administrador.</p></span>').fadeIn("fast");
  331.                 }else if(data=='7'){
  332.                     modalMsg.html('<span class="alert alert-warning" style="margin:10px 15px 20px;float:left;width:95%;padding:7px;"><p class="center">Não é possível actualizar porque nenhum dado foi alterado!</p></span>').fadeIn("fast");
  333.                 }
  334.                 else{
  335.                     modalMsg.html('<span class="alert alert-warning" style="margin:10px 15px 20px;float:left;width:95%;padding:7px;"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><p class="center">'+data+'</p></span>').fadeIn("fast");
  336.                 }
  337.             },
  338.             complete: function(){
  339.                
  340.             }
  341.         });*/
  342.     });
  343. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement