[Correção] O teclado oculta os elementos de entrada com Lungo

Eu estava desenvolvendo um aplicativo onde usei Lungo , Angular e Lungo-Angular-Bridge entre os dois e me deparei com um problema em que o teclado estava ocultando campos de entrada quando o usuário gravou o campo de entrada.
O comportamento esperado era que o formulário rolasse para cima até que o campo de entrada ficasse visível na tela.

Com a ajuda do Sr. @otupman , chegamos a uma diretiva parecida com esta

directives.directive('softkeyboard', [function() {
return {
restrict: 'C',
replace
: false,
transclude
: false,
link
: function(scope, iElement, iAttrs) {
iElement
.bind('focus' ,function() {
setTimeout
(function() {
iElement
[0].scrollIntoView();
}, 1000);
});
}
};
}]);

Cada campo de entrada que pode estar oculto pelo teclado, só precisamos adicionar um class = “softkeyboard” . O que a diretiva faz é apenas rolar o elemento de entrada para o topo da tela.

Se você está se questionando sobre o tempo limite, nós também o fazemos, embora tenhamos uma possível explicação para isso: precisamos esperar até que o teclado apareça e o navegador recalcule a janela de visualização.