From a217567b9b37fd58b1c27f7ec8c1f5080eeccfba Mon Sep 17 00:00:00 2001 From: David Baldwynn Date: Sun, 19 Nov 2017 16:10:30 -0800 Subject: [PATCH] fixed key-to-option attributes --- .../directives/submit-form.client.directive.js | 14 ++++++++++++-- .../directives/key-to-option.client.directive.js | 9 ++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/public/form_modules/forms/base/directives/submit-form.client.directive.js b/public/form_modules/forms/base/directives/submit-form.client.directive.js index eb510f29..def55203 100644 --- a/public/form_modules/forms/base/directives/submit-form.client.directive.js +++ b/public/form_modules/forms/base/directives/submit-form.client.directive.js @@ -182,7 +182,18 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun angular.element('#'+field_id+'.selectize-input')[0].focus(); } }); - } + } else { + if (angular.element('#'+field_id+' .focusOn').length) { + //Handle default case + angular.element('#'+field_id+' .focusOn')[0].focus(); + } else if(angular.element('#'+field_id+' input').length) { + //Handle case for rating input + angular.element('#'+field_id+' input')[0].focus(); + } else if(angular.element('#'+field_id+'.selectize-input').length) { + //Handle case for dropdown input + angular.element('#'+field_id+'.selectize-input')[0].focus(); + } + } }; $rootScope.$on('duScrollspy:becameActive', function($event, $element, $target){ @@ -196,7 +207,6 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun $rootScope.nextField = $scope.nextField = function(){ if($scope.selected && $scope.selected.index > -1){ - if($scope.selected._id !== FORM_ACTION_ID){ var currField = $scope.myform.visible_form_fields[$scope.selected.index]; diff --git a/public/form_modules/forms/directives/key-to-option.client.directive.js b/public/form_modules/forms/directives/key-to-option.client.directive.js index 1b1dca14..35e06604 100644 --- a/public/form_modules/forms/directives/key-to-option.client.directive.js +++ b/public/form_modules/forms/directives/key-to-option.client.directive.js @@ -1,14 +1,13 @@ 'use strict'; -angular.module('view-form').directive('keyToOption', function(){ +angular.module('view-form').directive('keyToOption', ['$rootScope', function($rootScope){ return { restrict: 'A', scope: { field: '=' }, - link: function($scope, $element, $attrs, $select) { - $element.bind('keydown keypress', function(event) { - + link: function($scope, $element, $attrs) { + $('body').on('keypress', function(event) { var keyCode = event.which || event.keyCode; var index = parseInt(String.fromCharCode(keyCode))-1; @@ -22,4 +21,4 @@ angular.module('view-form').directive('keyToOption', function(){ }); } }; -}); +}]);