controller.js 1.46 KB
angular.module('appWrapperDemo')
    .controller('appWrapperDemoController', [
        '$scope',
        '$rootScope',
        '$timeout',
        function($scope, $rootScope, $timeout) {
            $scope.usarTeclado = false;
            $scope.mostrarTeclado = false;
            //Envía broadcast para avisar que el teclado está en funcionamiento o no 
            //para su uso cambiar ng-click del boton por esta función
            // $scope.cambioUsoTeclado = function() {
                // if($scope.usarTeclado) {
                    // $scope.usarTeclado = false;
                    // $rootScope.$broadcast('usarTeclado', false);
                    // return
                // }
                // $scope.usarTeclado = true;
                // $rootScope.$broadcast('usarTeclado', true);
            // }
            $rootScope.$on('focus', function(event) {
                if(!$scope.usarTeclado) {
                    return;
                }
                $scope.mostrarTeclado = true;
                $timeout.cancel($scope.timeout);
                if(!$scope.$$phase) {
                    $scope.$apply();
                }
            });
            $rootScope.$on('blur', function(event) {
                $scope.timeout = $timeout(function() {
                    $scope.mostrarTeclado = false;
                    if(!$scope.$$phase) {
                        $scope.$apply();
                    }
                }, 150);
            });
        }
    ]);