Commit ecf7c612ab6cf64da5bb41173a4b9a0704d1a50a
Exists in
master
and in
1 other branch
Merge branch 'master' into 'master'
Agrego boton enter See merge request !1
Showing
3 changed files
Show diff stats
package.json
... | ... | @@ -8,7 +8,7 @@ |
8 | 8 | "compile": "gulp uglify", |
9 | 9 | "gulp-pre-commit": "gulp pre-commit", |
10 | 10 | "postinstall": "npm run compile && gulp clean-post-install", |
11 | - "install-dev": "npm install -D angular bootstrap font-awesome gulp gulp-angular-templatecache gulp-clean gulp-concat gulp-connect gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-uglify-es jasmine-core jquery jshint pre-commit pump && npm install angular-sanitize git+https://github.com/ericf97/angular-on-screen-keyboard.git" | |
11 | + "install-dev": "npm install -D angular bootstrap font-awesome gulp gulp-angular-templatecache gulp-clean gulp-concat gulp-connect gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-uglify-es gulp-sass jasmine-core jquery jshint pre-commit pump && npm install angular-sanitize git+https://github.com/ericf97/angular-on-screen-keyboard.git" | |
12 | 12 | }, |
13 | 13 | "pre-commit": [ |
14 | 14 | "gulp-pre-commit" |
... | ... | @@ -34,26 +34,29 @@ |
34 | 34 | "pump": "^3.0.x" |
35 | 35 | }, |
36 | 36 | "devDependencies": { |
37 | - "angular": "^1.7.5", | |
37 | + "angular": "1.7.5", | |
38 | 38 | "angular-route": "^1.7.5", |
39 | - "angular-sanitize": "^1.7.5", | |
40 | - "bootstrap": "^4.1.3", | |
41 | - "font-awesome": "^4.7.0", | |
42 | - "gulp": "^3.9.1", | |
43 | - "gulp-angular-templatecache": "^2.2.2", | |
44 | - "gulp-clean": "^0.4.0", | |
45 | - "gulp-concat": "^2.6.1", | |
46 | - "gulp-connect": "^5.6.1", | |
47 | - "gulp-htmlmin": "^5.0.1", | |
48 | - "gulp-jshint": "^2.1.0", | |
49 | - "gulp-rename": "^1.4.0", | |
50 | - "gulp-replace": "^1.0.0", | |
51 | - "gulp-sass": "^4.0.2", | |
52 | - "gulp-uglify-es": "^1.0.4", | |
53 | - "jasmine-core": "^3.2.1", | |
54 | - "jquery": "^3.3.1", | |
55 | - "jshint": "^2.9.6", | |
56 | - "pre-commit": "^1.2.2", | |
57 | - "pump": "^3.0.0" | |
39 | + "angular-sanitize": "1.7.5", | |
40 | + "bootstrap": "4.1.3", | |
41 | + "font-awesome": "4.7.0", | |
42 | + "gulp": "3.9.1", | |
43 | + "gulp-angular-templatecache": "2.2.5", | |
44 | + "gulp-clean": "0.4.0", | |
45 | + "gulp-concat": "2.6.1", | |
46 | + "gulp-connect": "5.6.1", | |
47 | + "gulp-htmlmin": "5.0.1", | |
48 | + "gulp-jshint": "2.1.0", | |
49 | + "gulp-rename": "1.4.0", | |
50 | + "gulp-replace": "1.0.0", | |
51 | + "gulp-sass": "4.0.2", | |
52 | + "gulp-uglify-es": "1.0.4", | |
53 | + "jasmine-core": "3.3.0", | |
54 | + "jquery": "3.3.1", | |
55 | + "jshint": "2.9.6", | |
56 | + "pre-commit": "1.2.2", | |
57 | + "pump": "3.0.0" | |
58 | + }, | |
59 | + "dependencies": { | |
60 | + "angular-on-screen-keyboard": "git+https://github.com/ericf97/angular-on-screen-keyboard.git" | |
58 | 61 | } |
59 | 62 | } |
src/js/angular-on-screen-keyboard-directive.js
... | ... | @@ -84,6 +84,9 @@ angular.module('onScreenKeyboard', ['ngSanitize']) |
84 | 84 | } else if (key.type === 'shift') { |
85 | 85 | ctrl.isUpperCase = !ctrl.isUpperCase; |
86 | 86 | return; |
87 | + } else if (key.type === 'enter') { | |
88 | + ctrl.pressEnterKey(); | |
89 | + return; | |
87 | 90 | } |
88 | 91 | |
89 | 92 | var htmlKeyVal = angular.element(event.target || event.srcElement).text(); |
... | ... | @@ -171,6 +174,42 @@ angular.module('onScreenKeyboard', ['ngSanitize']) |
171 | 174 | } |
172 | 175 | }; |
173 | 176 | |
177 | + ctrl.pressEnterKey = function() { | |
178 | + | |
179 | + $timeout(function() { | |
180 | + if (angular.element(':focus').length > 0) { | |
181 | + | |
182 | + var el = angular.element(':focus')[0], | |
183 | + down = new KeyboardEvent('keydown', | |
184 | + { | |
185 | + which: 13, | |
186 | + keyCode: 13, | |
187 | + bubbles: true, | |
188 | + cancelable: true, | |
189 | + }), | |
190 | + press = new KeyboardEvent('keypress', | |
191 | + { | |
192 | + which: 13, | |
193 | + keyCode: 13, | |
194 | + bubbles: true, | |
195 | + cancelable: true, | |
196 | + }), | |
197 | + up = new KeyboardEvent('keyup', | |
198 | + { | |
199 | + which: 13, | |
200 | + keyCode: 13, | |
201 | + bubbles: true, | |
202 | + cancelable: true, | |
203 | + }); | |
204 | + | |
205 | + el.dispatchEvent(down); | |
206 | + el.dispatchEvent(press); | |
207 | + el.dispatchEvent(up); | |
208 | + } | |
209 | + }); | |
210 | + | |
211 | + }; | |
212 | + | |
174 | 213 | var focusin = function(event) { |
175 | 214 | var e = event.target || event.srcElement; |
176 | 215 |
src/js/controller.js
... | ... | @@ -7,11 +7,12 @@ angular.module('focaTeclado') |
7 | 7 | ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'], |
8 | 8 | ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'ñ'], |
9 | 9 | ['z', 'x', 'c', 'v', 'b', 'n', 'm', |
10 | - {type: 'erase', colspan: 3, text: 'spr'} | |
10 | + {type: 'erase', colspan: 3, text: 'Del'} | |
11 | 11 | ], |
12 | 12 | [ |
13 | 13 | {type: 'margin', colspan: 1}, |
14 | - {type: 'button', colspan: 6, text: ' '} | |
14 | + {type: 'button', colspan: 6, text: ' '}, | |
15 | + {type: 'enter', colspan: 3, text: 'Enter'} | |
15 | 16 | ] |
16 | 17 | ]; |
17 | 18 |