2016-04-17 02:45:17 +00:00
|
|
|
'use strict';
|
2016-04-12 02:14:38 +00:00
|
|
|
|
2016-06-04 10:53:51 +00:00
|
|
|
//TODO: DAVID: Need to refactor this
|
|
|
|
angular.module('forms').directive('onEnterKey', ['$rootScope', function($rootScope){
|
|
|
|
return {
|
|
|
|
restrict: 'A',
|
|
|
|
link: function($scope, $element, $attrs) {
|
|
|
|
$element.bind('keydown keypress', function(event) {
|
|
|
|
|
|
|
|
var keyCode = event.which || event.keyCode;
|
|
|
|
|
|
|
|
var onEnterKeyDisabled = false;
|
|
|
|
if($attrs.onEnterKeyDisabled !== null) onEnterKeyDisabled = $attrs.onEnterKeyDisabled;
|
|
|
|
|
|
|
|
if(keyCode === 13 && !event.shiftKey && !onEnterKeyDisabled) {
|
|
|
|
event.preventDefault();
|
|
|
|
$rootScope.$apply(function() {
|
|
|
|
$rootScope.$eval($attrs.onEnterKey);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}]).directive('onTabKey', ['$rootScope', function($rootScope){
|
|
|
|
return {
|
|
|
|
restrict: 'A',
|
|
|
|
link: function($scope, $element, $attrs) {
|
|
|
|
$element.bind('keydown keypress', function(event) {
|
|
|
|
|
|
|
|
var keyCode = event.which || event.keyCode;
|
|
|
|
|
|
|
|
if(keyCode === 9 && !event.shiftKey) {
|
|
|
|
|
|
|
|
event.preventDefault();
|
|
|
|
$rootScope.$apply(function() {
|
|
|
|
$rootScope.$eval($attrs.onTabKey);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}]).directive('onEnterOrTabKey', ['$rootScope', function($rootScope){
|
2016-04-12 02:14:38 +00:00
|
|
|
return {
|
2016-04-29 04:57:04 +00:00
|
|
|
restrict: 'A',
|
2016-04-12 02:14:38 +00:00
|
|
|
link: function($scope, $element, $attrs) {
|
2016-04-17 02:45:17 +00:00
|
|
|
$element.bind('keydown keypress', function(event) {
|
2016-06-04 07:00:31 +00:00
|
|
|
|
2016-04-12 02:14:38 +00:00
|
|
|
var keyCode = event.which || event.keyCode;
|
2016-06-04 07:00:31 +00:00
|
|
|
|
|
|
|
if((keyCode === 13 || keyCode === 9) && !event.shiftKey) {
|
2016-05-13 23:52:28 +00:00
|
|
|
event.preventDefault();
|
2016-04-12 02:14:38 +00:00
|
|
|
$rootScope.$apply(function() {
|
2016-06-04 07:00:31 +00:00
|
|
|
$rootScope.$eval($attrs.onEnterOrTabKey);
|
2016-04-12 02:14:38 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
2016-04-29 04:57:04 +00:00
|
|
|
};
|
2016-06-04 10:53:51 +00:00
|
|
|
}]).directive('onTabAndShiftKey', ['$rootScope', function($rootScope){
|
|
|
|
return {
|
|
|
|
restrict: 'A',
|
|
|
|
link: function($scope, $element, $attrs) {
|
|
|
|
$element.bind('keydown keypress', function(event) {
|
|
|
|
|
|
|
|
var keyCode = event.which || event.keyCode;
|
|
|
|
|
|
|
|
if(keyCode === 9 && event.shiftKey) {
|
|
|
|
event.preventDefault();
|
|
|
|
$rootScope.$apply(function() {
|
|
|
|
$rootScope.$eval($attrs.onTabAndShiftKey);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
2016-04-12 02:14:38 +00:00
|
|
|
}]);
|