From 550d1bf822172c068b762c66e55fa37aa6d85756 Mon Sep 17 00:00:00 2001 From: efernandez Date: Thu, 8 Nov 2018 11:38:20 -0300 Subject: [PATCH] =?UTF-8?q?teclado=20soporta=20entradas=20num=C3=A9ricas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 3 +-- src/js/angular-on-screen-keyboard-directive.js | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index f1bde6b..f0c42b0 100644 --- a/package.json +++ b/package.json @@ -36,11 +36,10 @@ "devDependencies": { "angular": "^1.7.5", "angular-route": "^1.7.5", + "angular-sanitize": "^1.7.5", "bootstrap": "^4.1.3", "font-awesome": "^4.7.0", "gulp": "^3.9.1", - "angular-on-screen-keyboard": "git+https://github.com/ericf97/angular-on-screen-keyboard.git", - "angular-sanitize": "^1.7.5", "gulp-angular-templatecache": "^2.2.2", "gulp-clean": "^0.4.0", "gulp-concat": "^2.6.1", diff --git a/src/js/angular-on-screen-keyboard-directive.js b/src/js/angular-on-screen-keyboard-directive.js index c597cd1..ac75f39 100644 --- a/src/js/angular-on-screen-keyboard-directive.js +++ b/src/js/angular-on-screen-keyboard-directive.js @@ -89,6 +89,14 @@ angular.module('onScreenKeyboard', ['ngSanitize']) var htmlKeyVal = angular.element(event.target || event.srcElement).text(); var lastInputCtrl = angular.element(ctrl.lastInputCtrl); var val = lastInputCtrl.val(); + if(lastInputCtrl[0].type === 'number') { + var dato = parseInt(val + htmlKeyVal); + lastInputCtrl.val(dato); + lastInputCtrl.triggerHandler('change'); + ctrl.setKeyboardLayout(); + ctrl.refocus(); + return; + } var pre = val.substring(0, ctrl.startPos); var post = val.substring(ctrl.endPos, val.length); lastInputCtrl.val(pre + htmlKeyVal + post); @@ -115,6 +123,13 @@ angular.module('onScreenKeyboard', ['ngSanitize']) var lastInputCtrl = angular.element(ctrl.lastInputCtrl); var val = lastInputCtrl.val(); + if(lastInputCtrl[0].type === 'number') { + lastInputCtrl.val(val.slice(0, -1)); + lastInputCtrl.triggerHandler('change'); + ctrl.setKeyboardLayout(); + ctrl.refocus(); + return; + } var pre = val.substring(0, hasSel ? ctrl.startPos : ctrl.startPos - 1); var post = val.substring(ctrl.endPos, val.length); @@ -180,7 +195,7 @@ angular.module('onScreenKeyboard', ['ngSanitize']) $document.bind('focusin', focusin); $document.bind('keyup', keyup); - scope.$on("$destroy", function() { + scope.$on('$destroy', function() { $document.unbind('focusin', focusin); $document.unbind('keyup', keyup); }); -- 1.9.1