Ir ao conteúdo

Posts recomendados

Postado

Bom dia,

Estou tendo um problema com a execução do meu código em JS.

Acontece que a cada vez que chamo uma função é chamada a mesma duas vezes, sendo assim são feitas duas requisições.

Alguém poderia me ajudar?

 

apphkl.controller('TSController', ['$scope', 'AuthService', 'TSModel', function ($scope, AuthService, TSModel) {

    $scope.pageTitle = 'TS ANALYZER';
    $scope.loading = false;
    $scope.reloadCallback = null;
    /* Autoridade do usuario apenas usuario master tem autorização para usar a página*/
    $scope.auth = AuthService.getLoggedUser();
    // console.log($scope.auth);

    if ($scope.auth.login != 'master' && $scope.auth.permission != 'admin') {
        window.location.href = "/soc/index.html#/404";
    }

     /**
     * Constantes usadas na seleção das Abas
     */
    const PID_INFO     = 10;
    const TABLES       = 20;
    const ISDB_T_PARAM = 30;
    const SERVICES     = 40;
    const CCINFO       = 50;
   
    $scope.basic_info = "";             // dados basicos presentes o tempo todo na página
    $scope.pid_info = "";               // dados sobre para exibir na tab de pid info
    $scope.tables = "";                 // dados das tabelas 
    $scope.isdb_param = "";             // dados da aba isdbt parameters quando presente mostra
    $scope.services = "";               // dados da aba services 
    $scope.ccinfo = "";                 // dados que serão mostrados na aba ccinfo
    $scope.user_tab_current = null;             // sinaliza em qual aba o usuario esta
    $scope.tab_idbt_active = 0;         // sinaliza se a aba de isdbt vai ser mostrada 0:Hide 1:Show
    
    $scope.basic_info_ok = 1;  
    $scope.pid_info_ok = 1;    
    $scope.tables_ok = 1;      
    $scope.isdb_param_ok = 1;  
    $scope.services_ok = 1;    
    $scope.ccinfo_ok = 1;      
    
    /**
     * Seleção das Tabs do sistema.
     */
    $scope.updateTab = function (value) {    
        
        $scope.user_tab_current = value;
       
        if (value == PID_INFO) {

            document.querySelector('#menu0').className = "tab-pane active";
            document.querySelector('#menu1').className = "tab-pane fade";
            document.querySelector('#menu2').className = "tab-pane fade";
            document.querySelector('#menu3').className = "tab-pane fade";
            document.querySelector('#menu4').className = "tab-pane fade";
            document.querySelector('#menu5').className = "tab-pane fade";
            document.querySelector('#tab_menu0').className = "nav-link active";
            document.querySelector('#tab_menu1').className = "nav-link";
            document.querySelector('#tab_menu2').className = "nav-link";
            document.querySelector('#tab_menu3').className = "nav-link";
            document.querySelector('#tab_menu4').className = "nav-link ";
            document.querySelector('#tab_menu5').className = "nav-link "; 
            
            //$scope.user_tab_current = PID_INFO;     
            // $scope.loading = true;

            
        } else if (value == TABLES) {
            
            document.querySelector('#menu0').className = "tab-pane fade";
            document.querySelector('#menu1').className = "tab-pane  active";
            document.querySelector('#menu2').className = "tab-pane fade";
            document.querySelector('#menu3').className = "tab-pane fade";
            document.querySelector('#menu4').className = "tab-pane fade";
            document.querySelector('#menu5').className = "tab-pane fade";
            document.querySelector('#tab_menu0').className = "nav-link";
            document.querySelector('#tab_menu1').className = "nav-link active";
            document.querySelector('#tab_menu2').className = "nav-link";
            document.querySelector('#tab_menu3').className = "nav-link";
            document.querySelector('#tab_menu4').className = "nav-link ";
            document.querySelector('#tab_menu5').className = "nav-link ";

            //$scope.user_tab_current = TABLES;
            
        } else if (value == ISDB_T_PARAM) {
            
            document.querySelector('#menu0').className = "tab-pane fade";
            document.querySelector('#menu1').className = "tab-pane fade";
            document.querySelector('#menu2').className = "tab-pane active";
            document.querySelector('#menu3').className = "tab-pane fade";
            document.querySelector('#menu4').className = "tab-pane fade";
            document.querySelector('#menu5').className = "tab-pane fade";
            document.querySelector('#tab_menu0').className = "nav-link";
            document.querySelector('#tab_menu1').className = "nav-link";
            document.querySelector('#tab_menu2').className = "nav-link active";
            document.querySelector('#tab_menu3').className = "nav-link";
            document.querySelector('#tab_menu4').className = "nav-link ";
            document.querySelector('#tab_menu5').className = "nav-link ";

           // $scope.user_tab_current = ISDB_T_PARAM;

            
        } else if (value == SERVICES) {
            document.querySelector('#menu0').className = "tab-pane fade";
            document.querySelector('#menu1').className = "tab-pane fade";
            document.querySelector('#menu2').className = "tab-pane fade";
            document.querySelector('#menu3').className = "tab-pane active";
            document.querySelector('#menu4').className = "tab-pane fade";
            document.querySelector('#menu5').className = "tab-pane fade";
            document.querySelector('#tab_menu0').className = "nav-link";
            document.querySelector('#tab_menu1').className = "nav-link";
            document.querySelector('#tab_menu2').className = "nav-link";
            document.querySelector('#tab_menu3').className = "nav-link active";
            document.querySelector('#tab_menu4').className = "nav-link ";
            document.querySelector('#tab_menu5').className = "nav-link ";

            //$scope.user_tab_current = SERVICES;
           
        }else if (value == CCINFO) {
            document.querySelector('#menu0').className = "tab-pane fade";
            document.querySelector('#menu1').className = "tab-pane fade";
            document.querySelector('#menu2').className = "tab-pane fade";
            document.querySelector('#menu3').className = "tab-pane fade";
            document.querySelector('#menu4').className = "tab-pane active";
            document.querySelector('#menu5').className = "tab-pane fade";
            document.querySelector('#tab_menu0').className = "nav-link";
            document.querySelector('#tab_menu1').className = "nav-link";
            document.querySelector('#tab_menu2').className = "nav-link";
            document.querySelector('#tab_menu3').className = "nav-link ";
            document.querySelector('#tab_menu4').className = "nav-link active";
            document.querySelector('#tab_menu5').className = "nav-link ";

            //$scope.user_tab_current = CCINFO;
           
        }
        else if (value == 60) {
            document.querySelector('#menu0').className = "tab-pane fade";
            document.querySelector('#menu1').className = "tab-pane fade";
            document.querySelector('#menu2').className = "tab-pane fade";
            document.querySelector('#menu3').className = "tab-pane fade";
            document.querySelector('#menu4').className = "tab-pane fade";
            document.querySelector('#menu5').className = "tab-pane active";
            document.querySelector('#tab_menu0').className = "nav-link";
            document.querySelector('#tab_menu1').className = "nav-link";
            document.querySelector('#tab_menu2').className = "nav-link";
            document.querySelector('#tab_menu3').className = "nav-link ";
            document.querySelector('#tab_menu4').className = "nav-link ";
            document.querySelector('#tab_menu5').className = "nav-link active";

           // $scope.user_tab_current = 6;
           
        }


    }

    /**
     * Requisita as medidas referentes a Basic Info
     */
    $scope.requestBasicInfo = function(){
        TSModel.requestBasicInfo().then(function(response){
            if(response.data[0] == 1){
                $scope.responseBasicInfo(1);
            }
        });      

    }

    /**
     * Aguarda a Resposta das medidas referentes a Basic Info
     */
    $scope.responseBasicInfo = function(value){
        TSModel.responseBasicInfo().then(function(response){
            if(response.data[0] != 0){
                $scope.loading = false;
                $scope.basic_info = response.data;
              
            }
        });
    }
    /**
     * Requisita as medidas referentes a PID Info
     */
    $scope.requestPidInfo = function(){
        if($scope.user_tab_current == PID_INFO){
            TSModel.requestPidInfo().then(function(response){
                if(response.data[0] == 1){

                    $scope.responsePidInfo(1);

                }

            });
        }
    }
    /**
     * Aguarda a Resposta das medidas referentes a PID Info
     */
    $scope.responsePidInfo = function(value){

        TSModel.responsePidInfo().then(function(response){
            if($scope.user_tab_current == PID_INFO){
                if(response.data[0] != 0){
                    $scope.pid_info = response.data;                    
                }
            }
        });
    }
    /**
     * Requisita as medidas referentes a Tables
     */
    $scope.requestTables = function(){
        TSModel.requestTables().then(function(response){
            if($scope.user_tab_current == TABLES){
                if(response.data[0] == 1){
                    $scope.responsetTables(1);
                }else{
                    if($scope.tables_ok == 1){
                        $scope.requestTables();
                    }
                 
                }
            }
        });
    }
    /**
     * Aguarda a Resposta das medidas referentes a Tables
     */
    $scope.responsetTables = function(value){
        TSModel.responsetTables().then(function(response){
            if($scope.user_tab_current == TABLES){
                if(response.data[0] != 0){
                    $scope.tables = response.data[0];
                    $scope.tables_ok = 1;
                }else{
                    $scope.tables_ok = 0;
                    if(value < 10){
                        $scope.responsetTables(++value);
                    }
                   
                }
            }
        });
    }
    /**
     * Requisita as medidas referentes a ISDB-t Param
     */
    $scope.requestIsdbParam = function(){
        TSModel.requestIsdbParam().then(function(response){
            if($scope.user_tab_current == ISDB_T_PARAM){
                if(response.data[0] == 1){
                    $scope.responseIsdbParam(1);
                }else{
                    $scope.requestIsdbParam();
                   
                }
            }
        });
    }
    /**
     * Aguarda a Resposta das medidas referentes a ISDB-t Param
     */
    $scope.responseIsdbParam = function(){
        TSModel.responseIsdbParam().then(function(response){
            if($scope.user_tab_current == ISDB_T_PARAM){
                if(response.data[0] != 0){
                    $scope.isdb_param = response.data[0];
                }else{
                    if(value < 10){

                        $scope.responseIsdbParam(++value);
                    }
                    
                }
            }
        });
    }
    /**
     * Requisita as medidas referentes a Services
     */
    $scope.requestServices = function(){
        TSModel.requestServices().then(function(response){
            if($scope.user_tab_current == SERVICES){

                if(response.data[0] == 1){
                    $scope.responseServices(1);
                }else{
                    $scope.requestServices();
                    
                }
            }
        });
    }
    /**
     * Aguarda a Resposta das medidas referentes a Services
     */
    $scope.responseServices = function(){
        TSModel.responseServices().then(function(response){
            if($scope.user_tab_current == SERVICES){
                if(response.data[0] != 0){
                    $scope.services = response.data[0];
                }else{
                    $scope.responseServices();
                }
            }
        });
    }
    /**
     * Requisita as medidas referentes a CCInfo
     */
    $scope.requestCCInfo = function(){
        TSModel.requestCCInfo().then(function(response){
            if($scope.user_tab_current == CCINFO){
                if(response.data[0] == 1){
                    $scope.responseCCInfo(1);
                }else{
                    $scope.requestCCInfo();
                }
            }
        });
    }
    /**
     * Aguarda a Resposta das medidas referentes a CCInfo
     */
    $scope.responseCCInfo = function(value = 0){
        TSModel.responseCCInfo().then(function(response){
            if($scope.user_tab_current == CCINFO){
                if(response.data[0] != 0){
                    $scope.ccinfo = response.data[0];
                }else{
                    if(value < 10){
                        $scope.responseCCInfo(value++);
                    }
                    
                }
            }
        });


    }



    function getValues(){       
  
        $scope.requestBasicInfo();       

        if($scope.user_tab_current === PID_INFO){
            console.log("Teste PID_INFO");// $scope.requestPidInfo();
        }else if($scope.user_tab_current === TABLES){
            console.log("Teste TABLES");
        }else if($scope.user_tab_current === ISDB_T_PARAM){
            console.log("Teste ISDB_T_PARAM");
        }else if($scope.user_tab_current === SERVICES){
            console.log("Teste SERVICES");
        }else if($scope.user_tab_current === CCINFO){
            console.log("Teste CCINFO");
        }

       
    };

    requestValues = function(){     
       getValues();
       
    }

    $scope.updateTab(10);
    requestValues();

    
}]);

Obs estou usando AngularJS 1.3.14

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!